从命令行压缩-如何修剪路径元素
|
我正在使用NSTask从我的应用程序中执行一个zip命令。它作为参数传递了一些路径,这些路径指向要压缩的文件/文件夹。
问题在于,如果没有-j选项,则最终的zip最终会在zip中以荒谬的文件路径结尾(例如\“ / private / var / folders / A5 / A5CusLQaEo4mop-reb-SYE +++ TI / -Tmp- / 9101A216 -5A6A-4CD6-A477-E4B86E007476-51228-00014BCB9514323F / myfile.rtf \“)。但是,如果添加-j选项,则如果嵌套文件夹深处的任何文件具有
我已经尝试在执行NSTask之前设置路径:
[[NSFileManager defaultManager] changeCurrentDirectoryPath:path];
希望zip文档能说明事实:
默认情况下,zip将存储完整路径
(相对于当前目录)
但这没有按预期工作。调整-j和-p和-r的设置仅会以不同的组合产生上述问题。
题:
我该如何选择一组目录
/some/long/path/sub1/file1.txt
/some/long/path/sub2/file1.txt
并将其压缩为内容为
/sub1/file1.txt
/sub2/file1.txt
感谢您对zip精妙之处的任何建议。
- - -编辑
我忘记添加的另一件事是传递的原始目录是\“ path \”,因此在我看来,期望的结果也是期望的结果。
没有找到相关结果
已邀请:
2 个回复
焙恍挝厂熄
在启动任务之前使用
。例如:
钾涎净介
再说一次,我没有断言这是防弹的(并且希望得到改进),但是它确实可以正确压缩任何单个文件夹。