博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Objective-C写了一个简单的批量更改文件名的程序
阅读量:6951 次
发布时间:2019-06-27

本文共 1840 字,大约阅读时间需要 6 分钟。

前言:因为本人要高仿一个app,从app中解压asserts得到的所有图片文件,文件名都带有~iPhone这个干扰的名字,为了去除这个~iPhone这个字符串,所以本人写了个简答的批量更改所有文件名的程序。

程序员就是应该会利用程序来帮自己偷懒,如果你一个个文件手动去改,那你就太low了啊。

因为这个程序用到的NSFileManager的很多方法本人不是很熟悉,也是花了点时间去熟悉NSFileManager的一些方法,所以写下这个笔记做个笔记,省的下次又需要却还是遗忘了方法。

 

我的基本需求,在啰嗦一下下哈:

一个文件目录下有上百个图片文件,文件名都带有~iPhone。写一个程序,删除所有文件名中的这个字符串~iPhone,或者是重命名所有文件,不要有~iPhone这个字符串。

 

代码:

这个代码利用了第三方别人封装好的正则表达式类,然后再进一步实现我自己的需求

这个挺好用的正则表达式的类在github上:

然后就是:

////  main.m//  ChangeFileName////  Created by HEYANG on 16/4/3.//  Copyright © 2016年 HEYANG. All rights reserved.////  cnBlog:http://www.cnblogs.com/goodboy-heyang///  github:https://github.com/HeYang123456789////-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个文件(to 不能是已存在的)// 这里输入文件目录#define FileDirectory @"/Users/HeYang/Desktop/hello"#import 
#import "RegExCategories.h"// 替换文件名这个字符串,去除文件名中~iphone这个字眼NSString* changeString(NSString* string){ // 直接使用正则表达式,替换掉 NSString* result = [RX(@"~iphone") replace:string with:@""]; return result;}// 获取文件名,并去除~iPhoneNSString* getFileNameFromDirectory(NSString* directory){ NSFileManager* manager = [NSFileManager defaultManager]; NSArray *dirArray = [manager contentsOfDirectoryAtPath:directory error:nil]; for (NSString* str in dirArray) { // 原来的文件目录 NSString* fromFileName = [FileDirectory stringByAppendingPathComponent:str]; // 改变之后的文件名 NSString* changedStr = changeString(str); // 改变之后的文件目录 NSString* toFileName = [FileDirectory stringByAppendingPathComponent:changedStr]; // 替换,其实也是重命名 [manager moveItemAtPath:fromFileName toPath:toFileName error:nil]; } return nil;}int main(int argc, const char * argv[]) { @autoreleasepool { getFileNameFromDirectory(FileDirectory); } return 0;}
项目源码备份到百度云链接: 
 密码: e5q9
你可能感兴趣的文章
ssh原始整合
查看>>
[Advance] How to debug a program (下):示例
查看>>
高级网络配置+Ipv6
查看>>
VMware ESXI虚拟机及虚拟系统修改MAC地址的方法
查看>>
AES算法,DES算法,RSA算法JAVA实现
查看>>
IOS 多个UIImageView 加载高清大图时内存管理
查看>>
管理软raid磁盘队列
查看>>
MySQL双主机双Master方案测试
查看>>
正则表达式-grep命令
查看>>
菜鸟学Linux 第055篇笔记 php基础
查看>>
xtrabackup备份mysql数据库
查看>>
BIOS报警声
查看>>
remove Host from VMware cluster
查看>>
0538-实战将lnmp服务中的上传目录独立分离到nfs服务器
查看>>
数字签名和数字证书 流程图 (一目了然)
查看>>
明细表批量新增,修改,删除sql
查看>>
监控web状态的脚本
查看>>
19.12添加自定义监控项目19.13/19.14 配置邮件告警19.15 测试告警19.16 不发邮件的问题处理...
查看>>
Tomcat+MySql+jdbc
查看>>
LVM逻辑卷管理、 磁盘故障小案例
查看>>