# Automator 手册序章：人人都有机会成为 macOS 高手

> 本文公开全文。

原文：https://utgd.net/article/20178

你印象中的电脑高手，都是怎样操作电脑的？黑漆漆的深夜里，穿着融入夜色的套头衫，在荧幕前噼里啪啦敲键盘？

但是，还有一类玩家，他们的电脑好像“懂”用户的心思，不用指挥，自己就会把文件分类整理、将乱码文档修复妥当；随便预览一个文件，一排常用的打包、加密等等快捷操作按钮就在手边；结束工作，他们只需要对电脑说一声“Hey Mac，现在休息”，屏幕就会默默休眠。当用户睡着时，电脑还在安安静静地备份当天文件。

唯有将电脑打造得像钢铁侠电影里一样炫酷，才是现代 macOS 高手该有的样子。自动化工具发展到今天，早已经不是 Power User 的专利，许多没有编程基础的小白也能打造出自己的自动化动作。

iOS 上的 Shortcuts（彼时还叫 Workflow） 出现后立刻大火，在 Launch Centre Pro、Drafts、Pythonista 等工具几分天下的局势中成功突围，凭的就是模块化设计，只需要像搭积木一样简单拖动模块，就可以做出一个可用的动作。即使是不介意钻研的 Power User，也不会拒绝这样易用的工具。

而放眼 macOS 的自动化领域，目前叫得上名字的 Alfred、LaunchBar、Keyboard Maestro 等工具都有一定的上手难度，似乎缺少像 Workflow 那样人人都能用的工具。

其实，macOS 自带的 Automator 就是大家呼声极高的“Mac 版 Automator”。 实际上，论辈份的话，Workflow 这个后生多少还从 Automator 那里继承了经典的模块化设计。

在上手简单的同时，Automator 也保持了极高的可玩性，集成诸多第三方应用、还支持运行脚本，再能折腾的 Power User 也不会一玩就玩腻味，其中不乏又实用又酷的动作：

- 用正则表达式对文件批量重命名

- 清理压缩包中的垃圾文件

- 把乱码的文件名改回中文

- ……

Automator，正则表达式，进而是各种脚本，这些自动化工具往往能够让你一拍大腿：原来 macOS 都给我们提供了那么多选择！不同于现成的应用，自动化不是望一眼就能把使用场景想尽的锤子、剪刀，它们不会把解决方案喂到你嘴边，而是提供给你一些原料，让你打造出其他具体工具。可以说，自动化工具是创造其他工具的车间。

而且这个车间里，即有简单的图形化工具 Automator，也有进阶的 AppleScript 和 Shell 脚本，总能够打造出你需要的工具。

Automator 不仅是 macOS 自动化的重要一环，更是一条串起整个 macOS 自动化的主线，新手可以沿着图形界面上手，老鸟则能在脚本领域找到新思路。本系列文章也会以 Automator 为基础展开，当然，把 Automator 的初级和高级功能都玩转后，切换到其他工具也是轻松的事情。

## 从代码到图形界面

macOS 的自动化生态一片繁荣。

每台 Mac 电脑，都自带了脚本编辑器和 Automator 自动操作；第三方应用中，更有 Keyboard Maestro、LaunchBar、Alfred、Hazel 等一众自动化明星。每当我们对目前的工作方式感到疲惫乃至绝望时，往往可以通过自动化工具找到更简单数倍的解决方案。

macOS 及其前身上的两大创造，为如今众多简单而强大的工具奠定了基础：

- 近似自然语言的 AppleScript

- 开创图形化编程先河的 Automator

这些伟大的发明并不是一蹴而就。让我们把目光转向上个世纪，看看 macOS 的自动化生态是如何成长起来的。

### Apple, say Hello World

在 20 世纪最后的 10 年里，苹果从排版语言 Hypertalk 中获得灵感，推出“语法像说话一样简单”的 AppleScript，从此开启了 macOS 的自动化历程。在此之前，也许只有 Hacker 们才会用晦涩的命令来操控电脑，而 AppleScript 的出现，让普通人也有了和 Mac 沟通的机会。

连苹果的联合创始人 Steve Wozniak 也说：

> AppleScript puts incredible power in the hands of regular users without putting a lifetime of effort into this language

1991 年，AppleScript 伴随 System 7 发布后，一个叫 Sal Soghoian 的家伙捣鼓起了这种新型的脚本语言。Soghoian 用 AppleScript 来排版、打印菜单，还四处和人分享——顺便提一句，他用是一台从朋友手里搞来的二手麦金塔。这就是那个年代的迷人之处。

这位高玩引起了苹果的注意。很快，他就被招入了苹果公司。也正是从那一天开始，一条全新的自动化道路开始在苹果内部酝酿。

### Automator 手里拿的不是炮筒

时间很快到了 2005 年。伴随着 OS X Tiger 的发布，Soghoian 交出了他的作品：Automator，一款图形化的自动化工具。对于当时主要依赖代码的效率工具界来说，Automator 诞生所带来的轰动绝不亚于近几年 Workflow 的问世。

的确，此前的 AppleScript 作为一门编程语言来说已经足够简单、足够像自然语言，但是仍然有一定的门槛。而且，用 AppleScript 写成的脚本文件执行起来也不够方便。比如想把当天最热门的极简主义壁纸设成桌面背景，这事儿要是搁到 AppleScript 手里，就算你把脚本写出来了，八成交给朋友后他们也不懂怎样用。

同样一个换壁纸功能，Automator 是怎么做的？双击 Automator Application 的图标，好了，搞定。 相比脚本，一个 Automator 动作就是一个打包好的工具，你甚至可以不用管它运行时内部发生了什么，也能正常使用它。

时至今日，我们最先接触到的自动化工具，往往都沿用了 Automator 式的图形化界面，比如，Workflow，IFTTT，Keyboard Maestro……并不是说我们再也不用写代码了，而是能够拖动几个现成模块解决的问题，就可以不用写代码。况且，Automator 也支持 AppleScript 和其他脚本语言，我们还会在本系列文章的后半部分通过脚本来扩展 Automator 的功能。

## 为什么仍然要用 Automator

有人担心，Automator 毕竟是一款古董级的自动化工具，关于它“廉颇老矣”的声音并不少见。要我来回答“Automator 有没有过时”这个问题的话，我会从两个方面来作答：

- 兼容性： 苹果还在为 Automator 提供支持，Automator 本身也支持通过 AppleScript 和 Shell 等脚本进行扩展。

- 实用性： Automator 功能并不落伍，甚至有许多第三方应用难以实现的功能。

先来说兼容性。的确，时至今日，macOS 自动化界已经涌现了不少优秀的工具，相比之下，苹果去年还 取消了自动化经理一职，我们以前对 Automator 的担忧是有道理的。但是在今年的 WWDC 上，苹果又重新把 Automator 带回了我们的视线，为它增加了 Quick Action 快捷操作按钮和 Touch Bar 支持，赋予了 Automator“亲儿子”的待遇。所以“Automator 会不会被砍”这样的担忧，我觉得已经不攻自破了。

至于 Automator 的实用性，则更不用担心，作为一个自动化工具，它从制作、功能到启动方式都有自己独到的优势：

- 制作方式简单： Automator 采用了搭积木一样的模块化设计，一般来说你不需要写代码就能够拼出一个可用的自动化动作。我在 Power\+ 中写过一篇文件重命名指南，其中一大堆进阶动作都只是几个模块的组合。

- 功能覆盖全面： 除了自带的模块，如 Office、Photoshop、Pixelmator Pro 等等第三方工具也提供了 Automator 模块，允许我们把文档格式转换、图片缩放等等常用功能直接融入 Automator 工作流；另外，Automator 也支持运行 Shell、AppleScript、JavaScript、Python 等脚本，这让它的潜力几乎是无限的。尽管 Catalina 砍掉了不少脚本语言，但是一行命令就能把它们带回来，而可以是任何你喜欢的版本。

- 启动方式灵活： 不同于多数的自动化工具，Automator 提供了多达 8 种启动方式，从快捷键、右键菜单到监测文件夹变化后自动运行，在最新的 macOS Mojave 中还适配了 Finder Quick Action 和 Touch Bar，几乎我们常用的启动方式它都有提供，可以让工具来适应我们的习惯。

总的来说，Automator 的自带模块经过十几年的打磨，已经变得非常成熟，在最新的 macOS Mojave 下也鲜有不兼容的情况；而 Automator 进阶功能主要靠代码和第三方支持，几乎不受系统升级影响，往往只需要一些并不复杂的脚本，就可以用 Automator 实现批量清除垃圾缓存、解压系统不支持的压缩包等等附加功能。

Automator 就是你电脑里的瑞士军刀，你可以随手做出一个自动化动作来应对复杂、机械的任务。即使距离诞生已经过去了 13 年，Automator 仍然是一款不过时的自动化利器。

希望你从 Automator 开始，开启和 macOS 对话的自动化之旅。

---

[前往标准阅读页](https://utgd.net/article/20178?audience=web)
