当我用Mac OSX中内置的zip压缩器压缩文件时,它会在提取的zip中创建一个名为“__MACOSX”的额外文件夹。

我是否可以调整我的设置以避免创建此文件夹,或者我是否需要购买第三方压缩工具?

更新:我刚刚发现了一个OSX的免费应用程序,解决了我的问题:“YemuZip”

更新2:YemuZip不再是免费软件。


当前回答

凯卡是这样做的。只要把你的目录拖到应用程序屏幕上。

其他回答

这是我在使用tar命令压缩文件时避免__MACOSX目录的方法:

$ CD dir-you-want-to-archive $ find。| xargs xattr - l# <-列出所有具有特殊xattr属性的文件 ... ./conf/clamav: com.apple.quarantine: 0083;5a9018b1 ./conf/global: com.apple.quarantine: 0083;5a9018b1;Safari ./conf/web_server: com.apple.quarantine: 0083;5a9018b1

先删除属性:

找到。|xargs xattr -d com.apple.quarantine

运行find。| xargs xattr -l,确保没有任何文件具有xattr属性。然后你就可以开始了:

你是水手bz2你

不要压缩任何隐藏文件:

zip newzipname filename.any  -x "\.*"

对于这个问题,它应该是这样的:

zip newzipname filename.any  -x "\__MACOSX"

必须指出的是,在终端中运行zip命令只是压缩文件,它不压缩任何其他文件。所以这样做的结果是一样的:

zip newzipname filename.any

在你想要压缩的文件夹中,在终端:

zip -r -X Archive.zip *

其中-X表示:排除那些不可见的Mac资源文件,如“_MACOSX”或“。“_Filename”和“。ds”存放文件

注意:将只适用于文件夹和后续的文件夹树,你在,必须有*通配符。

不需要的文件夹还可以通过以下方式删除:

zip -d filename.zip "__MACOSX*"

最适合我

我使用这个Automator Shell脚本来修复它之后。 它显示为上下文菜单项(右键单击Finder中显示的任何文件)。

while read -r p; do
  zip -d "$p" __MACOSX/\* || true
  zip -d "$p" \*/.DS_Store || true
done

使用Automator创建一个新的服务 在“查找器”选择“文件及文件夹” 添加一个“Shell Script Action”