使用动态路径在目标C中执行终端命令

时间:2016-03-03 15:07:41

标签: objective-c xcode terminal

可能是我的问题是一个重复的问题,但我在互联网上搜索了很多,但找不到合适而有用的解决方案。 我想运行终端命令'mv'来将文件夹从根'〜/'移动到另一个文件夹,但是它的工作命令没有正常运行使用NSTask库,但我认为路径不正确我的xcode编译器执行找到'〜/ Desktop',

示例代码:

NSTask *task = [[NSTask alloc]init];
[task setLaunchPath:@"/bin/mv"];
[task setArguments:@[ @"~/Desktop/Script",@"~/Desktop/Script2"]];
[task launch];

它给出了错误:

mv: rename ~/Desktop/Script to ~/Desktop/Script2: No such file or directory

我认为'〜/'无效,xcode无法找到该文件, 请帮忙 提前致谢

1 个答案:

答案 0 :(得分:2)

〜怀疑目录未扩展。

您应该使用NSHomeDirectory()并连接。