# 如何用 Shortcuts 和正则表达式批量重命名文件

> 本文公开全文。

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

文件重命名之于文件管理，如同粗盐之于料理，不能批量重命名的大宗文件，让人难以下咽；而今支持批量重命名的工具不再稀缺，macOS 原生就支持批处理。料理文件不再困难的当下，我们有理由追求更精细的味道：用正则表达式，给文件批量重命名增添一分滋味。

正则之妙，在于使用者不仅能够替换固定的字符，更能修改具有一定模式的文件名。例如，iPhone 传输到 Mac 上的照片，均有 IMG\_0000 格式之前缀，每张照片中的四位数字各不相同，如需去除，通常只能一一删之；若使用正则表达式，则可以简驭繁，用 \\d\{4\} 表示任何一组四位数字组合，一举清理它们。正则威力，可见一斑。

试想，如果正则表达式还像家常菜肴一样方便上手，就更没有理由对它敬而远之。实际上，无需考虑动辄上百元的专业工具——例如文件重命名领域的老字号 Renamer，也不需要换用复杂的文件管理器，Shortcuts（快捷指令）本身就配备正则动作，正如躺在您厨柜里的现成食材，值得顺手一试。

- Shortcuts 动作下载链接

- GitHub

## 基础用法：删除多余字符

安装本 Shortcuts 动作后，需确保在 Shortcuts 编辑器中勾选了“Use as Quick”，并在“Finder”中启用，方可在文件的右键菜单中看到此动作。

选中任意一组文件后，即可在右键菜单中运行正则重命名动作：和所有文本替换的逻辑一致，首先，您会看到一个需替换字符的输入框，然后，紧接着输入替换后的字符。接续文章开头例子，如果我们想删除 IMG\_0000 格式在文件名前缀，可以在待替换一栏中输入 \\d\{4\}，后一栏则留空，如此便能将其删除。

在正式替换之前，该动作还会显示替换前后的文件名对比，并将不会被 Shortcuts 重命名的（即表达式不匹配的）文件分列在一旁。如认为替换效果不达预期——通常是编写正则表达式之际有笔误——则在此步骤勒马即可。

若预览效果令人满意，则可以正式执行替换操作，稍等片刻，Shortcuts 变能将文件名称修改妥当。熟悉正则表达式者，自此可一展拳脚，惟以下二点与标准正则有所差别：其一，在 Shortcuts，并非使用 \\1 表示匹配的字符，而是 $1；其二，极少数字符不能使用，目前仅发现英文句号 \.。所幸 \. 在文件名中本身就被用作分隔符，并非常用符号，此瑕疵之影响应该甚微。

## 进阶用法：调整字段顺序

删除多余字符，属于正则重命名的基础用法，然而已经不同凡响。试想网上下载的视频字幕、参考文档或规范文件，如果一一删去文件名中的繁杂无用部分，也堪称一件工程；而在熟悉正则表达式的人眼中，删繁就简，不过是两句表达式的功夫。

不过，删除字符，惟发挥出正则功力的十之一二。调整现有文件名之格式，尤其是重新调整字段顺序，方见正则表达式的真本事。比如整理读过的文章，以前我将作者名字置于开头，后来发现，所处领域的文献半衰期太短，五年前的名篇，放在现在可能已经过期。于是发布时间便成了首要的排序维度，文件名也以年份开头。就操作而言，无非是将原文件名中的年份提到开头，用正则表达式，不费三言两语的气力：先用 \(\.\*\)\\s\(\\d\{4\}\)\\s\(\.\*\) 把原文件名庖丁解牛，再用 $2 $1 $3 重新编排，便把年份成功提到文件开头，原先按作者排序的文章，也在转瞬之间转为按照年代排列，便于查阅。

以上替换，如果用 Finder 自带的基础文本替换，怕是力有未逮，最终还得逐个手动重命名。至于工作中八股样式的文件归档，正则重命名更是无往不利。在工作中，我收到的文件多为以下命名方式，虽然简明易懂，但并不符合归档要求。

```
某公司合规建设-0201-杰律师-定稿
某公司尽职调查-0207-敏律师-定稿
某银行合规演讲-0304-敏律师-二改
```

现在，假设目标是将上述文件改为 年月日\-，我们可以写出两条正则表达式：首先，用 \(\.\*\)\-\(\\d\+\)\-\(\.\*律师\)\-\.\* 从原文件名中提取数据，然后，替换为 2022$2\-$1\-$3，即可获得合乎档案要求的格式。显然，不同机构要求各异，而正则表达式始终能够一以贯之，组合出不同格式的文件名称。

## 小结

正如 Jobs 所言，如果你问问一个人，他到底做了什么创造性的工作，此君只会感到羞愧，因为他不过是将现有的东西联系起来。设计 Shortcuts 动作也大抵如此，正则动作由来已久，将其用在 macOS 文件批量重命名上，几乎只是顺水推舟，乘了 Finder 相关动作的东风。

可惜，在 Shortcuts 登陆 macOS 之后，我们并没有看到新鲜动作井喷泉涌；而一个窗口管理动作，竟也被 MacStories 评上年度最佳，着实是矮子里面拔将军。如果诸君中尚有 Workflow 的前朝遗老，想必会更怀念那个天才设想辈出的时代。借着正则这一古老技术，若能多少让人品尝到早期自动化社区的硬核遗风，便已让笔者知足。

---

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