对 Shortcuts 社区的疑惑,在 Shortcuts for macOS 发布后迅速爆炸。一方面,我观察到如 MacStories 这样的老牌站点只是在吃 iOS 的老本,几乎没有在 macOS 上开辟什么新天地;另一方面,各种扒视频、扒图片的动作甚嚣尘上,比如 RoutineHub 的年度十佳中居然有七个是下载类动作。这些动作本身无可非议,但如果只有这些玩意儿,那就说明一个社区太萧条、太单一了。
在这样的背景下,在本就格外萧条的中文圈中遇到 Se7en,我倍感荣幸。他有很强的自动化技术,能够玩转文件操作类模块、Shell 脚本模块以及 AppleScript 模块,并且都切切实实用在生活中:下载视频,制作漫画,批量处理工作文件……因此,我邀请他来写几篇文章,讲讲他如何使用 Shortcuts——尤其是 Shortcuts for macOS。
另外,还有一点关于自动化普及的私心。我自己写过近千个的自动化动作,深知没有任何一款工具能够满足所有人,因此只能尽可能提供可移植的动作,然后在文章中反复唠叨:您可以把它移植到自己喜欢的工具中……这只是自我安慰罢了,因为有能力移植的人根本不用我提,而一头雾水的读者仍然不知所措。幸而在所有工具中,Shortcuts 或许是学习自动化移植的最佳途径,不用花一分钱也能用上各种脚本模块,因此我一直期待有人能够说清楚其进阶用法,让读者有机会把眼馋已久的 LaunchBar、Alfred 或 Keyboard Maestro 动作移植到 Shortcuts 上。
——Minja
日常使用电脑的过程中,有许多针对文件名的重复性操作,可以使用自动化流程来完成。本文将介绍两个我常用的 Shortcuts 快捷指令,供各位参考。
一键批量隐藏或显示文件扩展名
我个人习惯于将文件扩展名隐藏,这将带来如下好处:1
- 减少信息干扰,使窗口内容更为简洁,同时节省屏幕空间;
- 对文件重命名时,移动光标时可以更加「无脑」,不必担心误操作而导致文件扩展名被修改或删除。
根据 Apple 官网描述,在 Finder 偏好设置中,若取消选择「显示所有文件扩展名」,那么文件扩展名会根据它们单个的「隐藏扩展名」设置而显示或隐藏。这就导致需要逐一打开文件的「显示简介」窗口,对文件的「隐藏扩展名」属性进行勾选,才能将文件扩展名隐藏,其繁琐程度不言而喻。好在 Finder 提供了相应的 AppleScript 接口。
将 Finder 偏好设置中「显示所有文件扩展名」选项取消选中后,安装上述快捷指令。在 Finder 中选中文件,单击 Quick Actions 快速操作工具栏中的快捷指令图标,即可隐藏选中文件的扩展名。
若读者有着完全相反的需求,希望显示选中文件的扩展名,操作也十分简单,将上图代码中红框内的 true
修改为 false
后保存即可。
甚至可以利用快捷指令的 Choose from menu 从菜单中选取
模块来增加一个功能选项,每次运行时弹出窗口进行选择,是将文件扩展名显示出来还是隐藏。我在上文中提供下载的快捷指令并未包含此功能选项,读者可以自行摸索尝试添加此功能。
一键批量为文件名添加时间标签
我个人在工作过程中习惯于将文件修改并保存后,立刻在文件名后面加上时间标签。例如 文档五 2022-12-31-17-05
,代表着在 2022 年 12 月 31 日 17 点 05 分对文档五进行了修改。这样做的好处在于:
- 可以在本机实现基础的版本管理;2
- 先后将同一文件的多个版本通过聊天软件发送给同事时,不至于出现
文档五(1)
、文档五(1)(1)
等情况,方便同事区分文件。
该快捷指令同样是选中文件后,在 Quick Actions 快速操作工具栏单击快捷指令图标执行操作。文件是否隐藏扩展名并不会影响快捷指令的执行。3
若当前文件名已经包含时间标签,则会以当前的时间替换掉原有的时间标签。
如果读者希望将时间标签改为自己偏好的格式,需要修改上图中图标 2 内的时间标签格式代码,完整的时间标签格式代码可以参考 Unicode 官网的表格。
同时需要修改的还有上图中图标 1 处的正则表达式,使其与图标 2 内的时间标签格式相匹配,这样才能确保,对已包含时间标签的文件进行重命名时,新的时间标签能够替换掉原有的时间标签。
上图中图标 1 处的正则表达式 \s[0-9\-]{16}$
,表示「匹配字符串末尾的 16 个字符,且字符仅包含阿拉伯数字和连字号 -
」。正则表达式的用法,可以在 Mozilla 官网 进行学习。
- 在较小的屏幕上,确有隐藏文件拓展名的必要,而且 Finder 中有文件图标,也可以作为区分文件类型的一个视角,不一定要全靠文件拓展名。DEVONthink 默认也隐藏了拓展名。当然,到底要不要,完全在于您个人。 ↩
- 有两个极端,一种是完全不管不顾、使用“文件修改版(1)定稿(改)(1)(2)(3)”式的标题,一种是使用 git 等专业版本控制工具。而在文件名中加上日期,则处于一个不太花力气而见效快的甜蜜点。 ↩
- 快速添加日期的工具有很多,包括 Keyboard Maestro(比如这个)和 TextExpander,而 Shortcuts 不仅不用花钱,而且可以直接批量重命名文件,而不单单是输入日期。 ↩