当我用Mac OSX中内置的zip压缩器压缩文件时,它会在提取的zip中创建一个名为“__MACOSX”的额外文件夹。
我是否可以调整我的设置以避免创建此文件夹,或者我是否需要购买第三方压缩工具?
更新:我刚刚发现了一个OSX的免费应用程序,解决了我的问题:“YemuZip”
更新2:YemuZip不再是免费软件。
当我用Mac OSX中内置的zip压缩器压缩文件时,它会在提取的zip中创建一个名为“__MACOSX”的额外文件夹。
我是否可以调整我的设置以避免创建此文件夹,或者我是否需要购买第三方压缩工具?
更新:我刚刚发现了一个OSX的免费应用程序,解决了我的问题:“YemuZip”
更新2:YemuZip不再是免费软件。
当前回答
当我遇到这个问题时,我已经从命令行完成了:
zip file.zip uncompressed
编辑,在许多反对票后:我使用这个选项一段时间前,我不知道我从哪里学到的,所以我不能给你一个更好的解释。克里斯·约翰逊的答案是正确的,但我不会删除我的。正如一个评论所说,它更准确地反映了OP的要求,因为它在没有这些文件的情况下进行压缩,而不是从压缩文件中删除它们。我发现它也更容易记住。
其他回答
在你想要压缩的文件夹中,在终端:
zip -r -X Archive.zip *
其中-X表示:排除那些不可见的Mac资源文件,如“_MACOSX”或“。“_Filename”和“。ds”存放文件
源
注意:将只适用于文件夹和后续的文件夹树,你在,必须有*通配符。
凯卡是这样做的。只要把你的目录拖到应用程序屏幕上。
zip -r "$destFileName.zip" "$srcFileName" -x "*/\__MACOSX" -x "*/\.*"
-x "*/\__MACOSX":忽略你提到的__MACOSX。 - x”* / \。*":忽略任何隐藏文件,如. ds_store。 如果变量以空格命名,则引用该变量以避免文件。
此外,您可以构建Automator Service,使其易于在Finder中使用。 如果需要,请检查下面的链接查看详细信息。
Github
我使用这个Automator Shell脚本来修复它之后。 它显示为上下文菜单项(右键单击Finder中显示的任何文件)。
while read -r p; do
zip -d "$p" __MACOSX/\* || true
zip -d "$p" \*/.DS_Store || true
done
使用Automator创建一个新的服务 在“查找器”选择“文件及文件夹” 添加一个“Shell Script Action”
不需要的文件夹还可以通过以下方式删除:
zip -d filename.zip "__MACOSX*"
最适合我