在Finder中压缩文件/文件夹时如何停止创建隐藏的__MACOSX文件夹


5

在Finder中通过上下文菜单压缩文件/文件夹时,即选择文件/文件夹,然后右键单击并选择Compress ...,将在zip归档文件中创建一个名为__MACOSX的隐藏文件夹。

如何在zip归档文件中不创建名为__MACOSX的隐藏文件夹?


欢迎问不同。:)不幸的是,您的问题没有提供足够的详细信息来帮助我们。阅读如何提出问题可能会增加您获得良好答案的机会。目前,您能否编辑您的问题以澄清实际情况。具体来说,您能否扩展所创建的隐藏文件夹的含义?这是在档案中吗?还是说您什么都没有,只有一个空文件夹(即什么都没有被存档)?或者是其他东西?
Monomeeth

1
默认情况下,使用Archive Utility处理在Finder中压缩的文件/文件夹,并且该应用没有设置偏好设置,无法阻止将元数据添加到存档中。你将不得不使用第三方解决方案或其他MACOS内置的实用工具/方法,即使用命令行工具一样dittozip或创建的Automator服务来执行必要的行动来实现目标等
user3439894

您正在使用哪个版本的OS X / macOS?
user3439894

Answers:


5

使用来自其他答案的信息,这是一个Automator Service 1,该服务在Finder中可用,可以从zip存档文件中删除“ __MACOSX” 元数据文件夹。

要创建服务:

  1. 打开Automator,然后选择:文件 > 新建 > 服务

  2. 设置服务接收选择文件或文件夹,并查找

  3. 添加运行shell脚本 的行动,设置外壳:/斌/庆典通输入:作为参数,而替换默认的代码与下面的代码

    for f in "$@"; do
        if [[ ${f##*.} =~ ^[zZ][iI][pP]$ ]]; then
            zip -d "$f" "__MACOSX*"
        fi
    done
    afplay /System/Library/Sounds/Purr.aiff
    
    • 什么代码所做的:它检查传递到服务每一个文件都有一个zip扩展,无论情况下,如果有一个zip扩展,如果“__MACOSX”的zip压缩包内时,删除了“__MACOSX” 元数据 zip存档中的文件夹

    • ${f##*.}获取文件扩展名,=~测试regex,并且^[zZ][iI][pP]$ regex匹配方括号内每个字母的任何大小写组合,同时^在字符串开头声明位置并在字符串结尾$声明位置。因此,仅zip在任何情况下都匹配这些字母。

    • 注意:代码的最后一行是可选的,只是为了让您知道服务已完成,并且可以更改为其他声音,如果不想在完成时通过声音通知,则可以将其省略。

  4. 服务另存为,例如:从Zip存档中删除“ __MACOSX”

1macOS Mojave和更高版本中,Automator 服务称为快速操作。还存在其他较小的命名差异,但与MacOS之前的Mojave Automator工作流程进行比较时,它们应该更明显。

要使用服务:

Finder中,或者在桌面上(如果zip存档位于那里),选择zip存档,然后右键单击并从上下文菜单或上下文菜单中的Services从Zip存档中选择Delete'__MACOSX',或者从Finder 菜单上的服务(如果适用)。

的形象服务Automator的,下面,是从OS X 10.8.6,但是,它在MacOS 10.12.5进行了测试,并在那里工作为好。

自动化服务


做得好。您介意我进行编辑以解释为什么在对HFS +文件进行编码或推测出更好的答案时这些文件夹正确存在吗?
bmike

@bmike,一点也不,听起来像是增值了……谢谢。
user3439894

这很棒。谢谢我的工作。服务是否有可能压缩和删除文件。一键操作?
Roei Hazout

2

WP Guru-如何从zip存档中删除__MACOSX

首先,像往常一样通过查找器创建ZIP。接下来,打开Terminal并cd进入ZIP文件所在的目录。如果路径很长,只需键入“ cd”,然后将文件夹拖到“终端”(少键入总是好方法)。

现在输入以下内容:

zip -d your-archive.zip "__MACOSX*"

那应该做到的。此命令(zip)将从您的ZIP文件(your-archive.zip)中删除以__MACOSX开头的所有内容(-d)。

要验证,请键入以下内容:

unzip -l your-archive.zip

这将仅列出your-archive.zip的内容。

如果您对Terminal 不满意BetterZip可以为您执行此操作,但价格为25美元。


我想完全禁用此选项。
Roei Hazout

1
我怀疑那是可能的。数据在那里存在,以便OS能够正确地重新合并文件中无法携带的元数据。
Tetsujin '17年

2

就像user3439894所说的那样,请尝试第三方解决方案。我长期以来一直在使用免费的应用程序Keka取得成功:

http://www.kekaosx.com/en/

在Keka首选项中进行配置,以在归档文件中不创建Mac专用文件。也可以通过上下文菜单使用它(将“ Compress with Keka.workflow”添加到“〜/ Library / Services”文件夹之后),请参阅其网站左下方的链接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.