·4分钟阅读

如何在 Mac 上批量删除文件名中的字符

文件名里堆满了多余字符、随机前缀或不需要的后缀,很难搜索和排序。当你面对几十甚至上百个文件时,一个一个清理根本不现实。

导出的文件总喜欢在名字里塞点垃圾。扫描仪会给所有文件加上"Scan_"。CMS 会在前面加一个 12 位的 ID。下载文件会因为同名文件已存在而加上"(1)"。客户发来的文件里还带着空格、特殊字符和不统一的大小写,让你整理得井井有条的文件夹瞬间变得一团乱。

你需要从几十甚至上百个文件中剥离这些多余字符。手动操作意味着对每一个文件都要点击、选中、删除、按下回车。这不是一种工作流程——这是一种惩罚。

Finder 做不到的事

Finder 的重命名工具支持查找替换文本,这能处理一部分字符删除的需求。如果每个文件开头都是"Scan_",你可以把"Scan_"替换为空。但 Finder 做不到:

  • 按位置删除字符(比如"删除前 5 个字符")
  • 从末尾删除字符(比如"删除最后一个下划线之后的所有内容")
  • 删除匹配某种模式的字符(比如"删除所有类似 (1)、(2)、(copy) 的括号内容")
  • 在一次操作中串联多个删除步骤

如果你需要删除的字符在各个文件中并不完全相同,Finder 的字面文本匹配就帮不上忙了。

用 Renym 批量删除字符

Renym 提供了多种从文件名中删除字符的方式,并且你可以把它们组合进同一条流水线。

Renym removing characters from file names in bulk on macOS

按位置删除

从每个文件名中删除前 N 个或后 N 个字符。非常适合去掉那些内容各不相同、但长度固定的前缀或后缀。

按模式删除

用正则表达式匹配并删除可变文本。像 \s*\(\d+\) 这样的模式,可以删除所有"(1)""(2)""(3)"这类后缀,不管数字是多少。像 ^[A-Z]{3}_ 这样的模式,可以剥离任意三个字母加下划线的前缀。

用查找替换删除

对于简单情况,找到不需要的文本,替换为空即可。适用于像"Copy of "、"Scan_"或" - final"这类固定字符串。

把多个删除操作串联起来

需要去掉一个前缀,同时删除括号后缀,还要清理留下的多余空格吗?在流水线里添加三个操作。每一步都作用于上一步的结果,实时预览会显示每个文件最终的结果。

文件名应该干净、统一、可搜索。如果不是这样,在 Renym 里花五分钟就能修好整个批次。

在 Mac App Store 获取 Renym

下一篇文章

Renym

Rename hundreds of files with visual pipelines — regex, numbering, case changes.

Get Renym on the Mac App Store