当我用Mac OSX中内置的zip压缩器压缩文件时,它会在提取的zip中创建一个名为“__MACOSX”的额外文件夹。
我是否可以调整我的设置以避免创建此文件夹,或者我是否需要购买第三方压缩工具?
更新:我刚刚发现了一个OSX的免费应用程序,解决了我的问题:“YemuZip”
更新2:YemuZip不再是免费软件。
当我用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 -d filename.zip "__MACOSX*"
最适合我
另一个可以与Automator工具一起使用的shell脚本(参见benedikt关于如何创建脚本的回答)是:
while read -r f; do
d="$(dirname "$f")"
n="$(basename "$f")"
cd "$d"
zip "$n.zip" -x \*.DS_Store -r "$n"
done
不同之处在于,这段代码直接压缩选定的文件夹,而不包含macOS特定的文件(而不是先压缩后删除)。
可以通过zip -d filename.zip __MACOSX/\*
并且,删除。ds_store文件:zip -d filename.zip \*/。DS_Store
这是我在使用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你