目标:将目录的下的所有文件移动
/拷贝
到顶层文件夹
- 创建
cmd
工程,代码如下
//移动本地目录文件
void moveFileToDir(NSString *dir) {
NSFileManager *myFileManager = [NSFileManager defaultManager];
NSDirectoryEnumerator *myDirectoryEnumerator = [myFileManager enumeratorAtPath:dir];
BOOL isDir = NO;
BOOL isExist = NO;
//列举目录内容,可以遍历子目录
for (NSString *path in myDirectoryEnumerator.allObjects) {
isExist = [myFileManager fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", dir, path] isDirectory:&isDir];
if (isDir) {
NSLog(@"dir-%@", path); // 目录路径
} else {
NSLog(@"file-%@ ", path); // 文件路径
/** 这里复制到dir */
[myFileManager copyItemAtPath:[dir stringByAppendingPathComponent:path] toPath:[dir stringByAppendingPathComponent:path.lastPathComponent] error:nil];
/** 可以修改为移动*/
//[myFileManager moveItemAtPath:[dir stringByAppendingPathComponent:path] toPath:[dir stringByAppendingPathComponent:path.lastPathComponent] error:nil];
}
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *dir = [NSString stringWithUTF8String:argv[1]];
moveFileToDir(dir);
}
return 0;
}
- 编译得到可执行文件,修改名称:
copyFileToRootDir
打开终端,将文件夹路径拖入命令之后执行
image.png- 效果,子目录下的文件都在同一路径
网友评论