# 用 Keyboard Maestro 更舒服地重命名文件

> 本文公开全文。

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

> 在 macOS 中， ⌘Command\-C 意味着拷贝（Copy）， ⌘Command\-D 意味着复制（Duplicate）， ⌘Command\-I 意味着查看信息（Get Info）， ——但，⌘Command\-R 并不意味着重命名（Rename）。

很多问题需要通过波利亚放大镜去考虑：越宏大，越有可能解决。在高斯引入复数之前，解方程曾经困扰了几代数学家，但一夜之间，事情变得简单了。思考用户端编程（用户自动化）问题，也无需忌惮波利亚放大镜之洋气，不妨拿来一用。

例如 macOS 上的文件重命名，乍看上去，似乎全是糟糕的交互设计，并且零零散散、无从抓起。例如重命名单个文件，除非你使用列表视图——但桌面根本无此选项——不然就只能在极其逼仄的小框框里面打字，堪比用 1 寸屏的 MP3 看小说。

批量重命名则是另一种不幸。重命名（Rename）没有原生快捷键不说，好端端的 ⌘Command\-R 竟然被划给了“Show Original”（显示 Alias 替身文件的原始文件），纯属明珠暗投。就连“Show Original”的命名也像是醉酒后的产物，估计设计者当时脑子里想的应该是“Reveal Original”，不知怎么最后就弄成了“Show”。也罢，没有快捷键倒也不用杀头，毕竟我可以习惯用英文首字母定位，但在涉及 iCloud 的文件夹中，偏偏又有“Remove Downloads”选项横空杀出，挡在重命名选项前面，正事没干成，反害我把好端端的文件移除掉。

无论单文件重命名还是批量重命名，都已经到了要爆发革命的临界点。而本人又不好糊弄，不可能随便找一个第三方重命名工具就疏导我的不悦，最终，我还是重新设计了 macOS 文件重命名流程，以 Keyboard Maestro 一以贯之，一次性解决单文件和多文件。

Keyboard Maestro 动作下载（包含纯 Keyboard Maestro 版和 LaunchBar 组合版）

## 一以贯之

任何操作大体上都可以分为两部分，其一是启用方式，其二是具体功能。就重命名来说，系统原生单文件重命名的启用方式与功能均不理想；而批量重命名的具体功能较为完善，只是启用方式不理想，Keyboard Maestro 不再另造轮子，仅仅统一快捷键（⌘Command\-R）。

如下两图所示，在我设计的重命名方案中，无论试图处理多少文件，都只需要按下快捷键 ⌘Command\-R——顶替鸡肋的原生功能，但如果你确实需要，换作其他键位便是——如选中一个文件，则弹出修改名字的小窗口；若有多个文件，则弹出系统自带的批量重命名窗口。

故本文方案的第一步，乃是判断当前仅需重命名一个文件，还是要批量处理。传统思路当然是计算所选文件的数量，但此际，我更喜欢 Keyboard Maestro Token 仓库中的 %FinderSelection%。此 Token 表示当前所选中的文件，但是只能显示一个文件，托选中多个，则此 Token 会直接落空——此机制类似公道杯——是故只需考察 %FinderSelection% 是否为空，就知道当前所选文件是寡是众。

之后，根据文件多寡，再分而处之。

注：在其他场合下，如果你确实需要处理多个文件，可用 %FinderSelections% 获之。

## 单文件重命名

若不借助任何第三方工具，Finder 甚至连单文件重命名尚且处理不好，令人不满。我曾在《如何体面地重命名桌面文件》一文中提出过初步方案，用 AppleScript 编写了自制输入框，远比桌面或其他图标视图下的重命名文本框舒服。

你大可沿用前文思路，但既然计划以 Keyboard Maestro 同时解决单文件与多文件重命名两个问题，本文将完全换用 Keyboard Maestro，尽可能使用 Keyboard Maestro 自带零件。Keyboard Maestro 自带了 Prompt for Snippet 模块，可提供一个弹出窗口；若再预先填入 %Ask1=%FinderSelection%%，则可以进一步嵌入一个单行文本输入框。其中所得，需交予自定义变量以备 Move or Rename File 模块采用——惟需注意，刚刚输入的新文件名末尾有换行符，在套用你所输入的内容前，需借 Get Substring of Variable 模块或其他方式将去删去。

若读者有 LaunchBar，从实用角度考虑，也不妨迳行调用 LaunchBar 的重命名界面，具体可参考拙作《快马加鞭，用快捷键加速 LaunchBar 的常用功能》。

## 多文件重命名

相较单文件重命名，批量重命名的功能反倒已然完善，我们只需通过 Select or Show a Menu Item 模块模拟点击菜单栏。Keyboard Maestro 的功劳，主要在于统一了操作方式，无论想命名多少文件，也只需要记住一个 ⌘Command\-R。

当然，正则表达式等进阶功能尚需另寻出路，暂时无法乞援原生重命名功能，具体内容可参考旧作《如何用 Shortcuts 和正则表达式批量重命名文件》，有志的读者不妨想想如何将其融入本文方案。

🛍 我撰写的付费栏目《Keyboard Maestro 进阶指引（增订版）》正在 UNTAG 售卖，详解 Keyboard Maestro Macro 高级设计思路，欢迎选购：付费内容链接

---

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