开发者导出了 200 个 HTML 文件,扩展名却是 .txt。摄影师收到的 RAW 文件被存成了 .jpg。某个数据管道输出的 CSV 文件干脆没有扩展名。内容本身没问题——扩展名错了。而扩展名一旦出错,文件就会用错误的应用打开、在搜索中被过滤掉,或者打断某个自动化流程。
你需要修改所有这些文件的扩展名。不是一个一个来。而是一次性全部搞定。
Finder 方案
严格来说,Finder 可以修改扩展名——但一次只能改一个文件。右键点击,"显示简介",在名称字段里修改扩展名,再确认那个提示你"更改扩展名"的对话框。面对 200 个文件,这要耗费大量荒唐的时间。
Finder 的批量重命名可以做文本替换,所以理论上你可以把".txt"替换成".html"——但这种做法很脆弱。如果某个文件名里其他地方也出现了".txt"(比如"notes_txt_backup.txt"),替换就会命中错误的位置。Finder 分不清"扩展名"和"恰好匹配的文本"。
Terminal 方案
一条简单的 bash 命令可以搞定这件事:
for f in *.txt; do mv "$f" "${f%.txt}.html"; done
快速有效——但没有预览,没有撤销,命令里出一个错误就意味着 200 个文件名全部损坏。如果你忘了加引号,而文件名里又带空格,结果就无法预测。
带预览的批量扩展名修改
Renym 把扩展名修改作为重命名流水线的一部分来处理。你可以专门针对扩展名进行操作,而不影响文件名的其他部分。
安全地替换扩展名
用锚定在名称末尾的正则表达式做查找替换,只修改扩展名,不匹配文件名本身的文本。在你应用之前,预览会准确显示每个文件将发生的变化。
补上缺失的扩展名
文件没有扩展名?追加".csv"、".json",或者任何正确的扩展名。插入操作会把文本添加在文件名末尾,也就是最后一个字符之后。
和其他清理操作组合
扩展名问题往往伴随着其他命名问题。在同一条流水线里修复扩展名,同时整理文件名——去掉前缀、统一大小写、添加编号——一次性全部完成。
需要时可以撤销
改了 200 个扩展名,结果发现改错了?撤销整个批次。修正流水线,再次应用。不需要手动把 200 个文件的扩展名改回原样。