题图背景选自 Scott Webb 的摄影作品

本节知识点预告:

  1. 创建简单的 Automator 工作流;
  2. 把 Automator 工作流改装成 LaunchBar 的 action;
  3. 用 Shell 脚本运行 Automator 工作流。

有时候我们会遇到这种问题,一个页面上挂了好多文档需要下载:

依次点开再按 ⌘ S 或是逐个右击再选择下载都不像是聪明的方法。我们可以通过 Automator 来实现这样的情况下文件的批量下载。

用 Automator 制作下载文件的工作流

启动 Automator,选择新建服务,依次加入如下六个操作模块:

首先先读取当前 Safari 所在页面的网页,接着获取这个网页下的所有网址,对它们进行过滤,过滤内容是网址结尾包含我们所需要下载的文件的扩展名:

接着把过滤好的内容下载下来,这里我选择下载到桌面。之后显示一条下载完成的通知并通过 Shell 在 Finder 中打开桌面:

保存为「Download_All_Files_on_This_Website」,这样这个工作流就完成了,我们可以在 Safari 中调取这个服务。

与 LaunchBar 结合

当用 LaunchBar 调用某些工作流时,结果并不理想,运行不稳定。而在 Automator 中建立的除了服务之外的工作流,LaunchBar 中也不会列出来,我们采用把工作流变成 action 的方法来把工作流和 LaunchBar 结合起来。

首先在 Action Editor 中新建一个 action,命名为「Download All Files on Current Safari Website」,并给它加一个好看的图标(具体方法请参照上节实验):

(当然这也是把工作流做成 action 的另一个好处,可以自定义图标。)

在 Scripts 页面上选择 Run in background,并选择运行脚本为 AppleScript,点击 Edit 启动 Script Editor,输入如下代码:

# 关闭 LaunchBar 界面
tell application "LaunchBar"
	close
end tell
# 运行 Shell 脚本:运行 Automator 工作流(后面的路径改成刚才所保存的工作流的路径)
do shell script "automator /Users/用户名/Library/Services/Download_All_Files_on_This_Website.workflow"

再保存,这个 action 就完成了。

测试

随便打开一个有多个文档的页面,用 LaunchBar 召出 Download All Files on Current Safari Website,下载完成后,Finder 就会自动打开展示刚下载好的文件了。


你也可以关注文章下方的「LaunchBar 实验室」专栏,在少数派阅读更多关于 LaunchBar 的内容。