我让它可以在Automator中的Sierra 10.12.3上工作。
首先,我编写了此脚本版本:它与freefly42的功能相同,只是编写相同内容的方式不同。
要为非母语bash使用者进行翻译,它的作用是:
如果使用命令行参数运行,它将尝试查看该参数是否为目录,以及该目录是否包含名为“ .disable_osx_metadata”的文件。
如果特殊文件不存在,则什么也不会发生。该驱动器将被忽略。
如果存在特殊文件,则脚本将删除所有osx元数据,并创建一些小的新项目以防止其他任何事情。例如,创建名为.Trashes的文件可防止操作系统创建名为.Trashes的目录,然后在其中写入文件。
如果不带参数运行,则它对/ Volumes中的每个目录运行一次。
因此,如果您手动运行它或单击它,它将检查所有连接的驱动器。如果在Automator中创建工作流程,则只要连接了驱动器,Automator就会为该驱动器运行该工作流。
#!/bin/bash
x=.disable_osx_metadata
[[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
[[ -e "$1/$x" ]] || exit 0
mdutil -i off "$1"
rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir "$1/.fseventsd"
touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"
保存为“ disable_osx_metadata”,chmod 755,复制到/ usr / local / bin。
$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin
然后打开“ Automator”,“新建”,“文件夹操作”
然后,我发现即使在Sierra 10.12.3中,您仍然可以通过非显而易见的方式在Automator中添加/ Volumes目录。
转到“查找器”,“文件”,“转到文件夹...”,手动输入“ /卷”,然后按Enter。
现在,这将显示一个包含HD和USB驱动器的窗口,但没有明显的“ / Volumes”文件夹可单击。但是标题栏显示“ / Volumes”,它也显示在底部。
您可以从标题栏或底部将“ / Volumes”旁边的文件夹图标拖放到Automator上,并将其放在“文件夹操作接收添加到以下文件和文件夹的位置:[______]”上
关闭查找器。
返回Automator:在左侧,向下滚动并向右拖动“获取文件夹内容”,并将其拖放。
然后再次在左侧,向下滚动并将“ Run Shell Script”拖到右侧,并将其拖放到“ Get Folder Contents”下方。
将“传递输入:”更改为“作为参数”。Shell:[/ bin / bash]传递输入:[作为参数]
然后将脚本从/ usr / local / bin拖到“运行Shell脚本”下的框中,使其显示为“ / usr / local / bin / disable_osx_metadata”
文件,保存,disable_osx_metadata.workflow
作为参考,该文件保存在:
/ Users / YOUR_NAME / Library / Workflows / Applications / Folder Actions中。
如果您保存错误,我认为您必须在Finder中手动导航以将其删除。
最后,对于每个要保护的新USB驱动器,必须在根文件夹中创建一个名为“ .disable_osx_metadata”的文件。
您可以在终端中执行此操作:$ touch / Volumes / NO \ NAME / .disable_osx_metadata
或者只是保留一个带有可见名称(无前导点)的小文本文件,然后将其复制到任何新USB驱动器的根目录,并在复制后将其重命名为.disable_osx_metadata。
从现在开始,每次连接该驱动器时,都会对其进行清洁。
不像我想要的那样干净。您必须稍微污染驱动器,以便告诉操作系统不要进一步污染它。似乎没有办法使OS完全不理会它,而不添加不需要的文件。
待办事项:添加启用/禁用功能以创建/删除点文件。
TODO:这不会阻止每个目录中的.DS_Store文件。
TODO:是否可以打包脚本和foo.workflow文件,以便用户可以跳过大多数这些手动说明?我看到Automator中有一个“导出”选项,可以创建某种程序包文件。
待办事项:可能整个文章过时了。这个applescript + automator工作流程可能会更好:https :
//superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-hidden-files/814104#814104