本文介绍的脚本我已经自己使用了很长时间,以前也曾放出下载,这次作为教程写出来,希望能给各位一些启发。

不知道你有没有这样的经历,买了新电脑,但是却完全不想把原来电脑对拷过来,因为原来的机器已经混乱不堪了。接下来你开始给你的新机器安装成堆的软件,因为 Mac 上大多数软件用 DMG 包装的关系,你的下载文件夹里没过多久就堆满了镜像文件。我是谁,我在哪,我接下来要装啥?

为了不让自己在风中凌乱,我用了这样一个脚本来代替一些重复工作。当检测到有新的 DMG 添加到下载文件夹的时候,会自动挂载小于 200M 的文件,并且把镜像扔到废纸篓,这样你的下载文件夹会保持干净,安装完之后你只要推出镜像就可以了,虽然只是简化了几步,但当你大量安装程序的时候,你就知道这样做的好处了。因为废纸篓中的文件依然是作为有效文件存在的,所以你依然可以正常把镜像中的 .app 文件安装到应用程序文件夹。

由于一些软件需要通过在镜像中运行安装程序来安装(比如 Parallels Desktop),所以这种方法并不是什么时候都能解决问题的,当你运行“安装.app”的时候,可能提示你找不到文件。我这里设置了文件尺寸限制,如果还是出现了问题的话,你可以尝试把 DMG 从废纸篓里拖到桌面上,这里不会触发脚本。(我本来下载了一份 PD 的安装包想要截图,却发现没有出现这样的问题,可能是因为一些新的修改吧。)

新建一个文件夹操作 workflow。
006tNbRwjw1fb5bidf5goj31kw1bs4eh.jpg

将下载文件夹设置为监控目录。
006tNbRwjw1fb5bk4vwl9j30ye040t9g.jpg

暂停一秒钟,防止打开不完整 DMG 文件的尝试。(实用工具/暂停)
006tNbRwjw1fb5bq6n2o2j30yc05wq3i.jpg

先对文件进行过滤。一条规则用于过滤镜像文件,一条规则用于过滤文件大小。(文件和文件夹/过滤 Finder 项目)
006tNbRwjw1fb5blw3obvj30ye0agabr.jpg

接下来使用打开 Finder 项目来挂载 DMG,之所以没有使用“装载磁盘映像”,是因为它不会继续向下面的操作传递获取到的文件。(文件和文件夹/打开 Finder 项目)
006tNbRwjw1fb5boei7gij30ye05ymxw.jpg

再暂停一秒钟,保证文件已经正确挂载,如果在镜像的验证阶段删除了镜像,是无法挂载的。(实用工具/暂停)
006tNbRwjw1fb5brz5euqj30ye05s3z4.jpg

最后删除文件。(文件和文件夹/将 Finder 项目移到废纸篓)
006tNbRwjw1fb5bshkfaaj30yc03ojrt.jpg

完整截图:
006tNbRwjw1fb5bvvo7aej31kw1bs1a6.jpg

下载地址  双击即可安装。

2016-12-27 16_03_24.gif

一些常见问题:
Q:文件夹操作的本体在哪?
A:这些文件在 ~/Library/Workflows/Applications/Folder Actions/

Q:为什么我安装了你的脚本但是它不运行?
A:可能是你没有在系统内开启”文件夹操作“服务。
找到 /System/Library/CoreServices/Applications/Folder Actions Setup.app(文件夹操作设置),勾选其中“启用文件夹操作”和你要启用的脚本和位置。
006tNbRwjw1fb5c8tunlzj30ww0qkwhi.jpg之后应该就可以正常运行了。