当 121 条素材遇上批量重命名

这是工具箱系列的第二篇。上一篇写的是 当 OCR 遇上 SOP,讲的是怎么把散落的截图和文档变成可检索的东西。这一篇换个方向:问题不是”找不到内容”,而是”找到了也是一堆乱名字”。

主角是 Windows 上一个叫 PowerRename 的小工具。

一天 121 条,最先崩的是重命名

25年5月,我在某企业做新媒体运营的时候会涉及一些视频剪辑的工作。

那两个月的节奏是:同一条底稿,换开头、换字幕、换封面,批量复制出一堆变体去铺矩阵号。

这个量级下,最先崩的不是剪辑速度,是素材的名字。

素材进来的样子大概是这样的:

  • 手机导出来的:VID_20250512_143022.mp4
  • 相机导出来的:DSC00123.MOV
  • 微信群里存的:微信图片_20250512143022.jpg
  • 剪映自动存的:未命名草稿_2025-05-12-14-30-22.mp4
  • 还有更绝的:新建文件夹 (2)、最终版3、最终版3改

单看一条视频,乱一点也就乱一点,翻一下就找到了。但当你一天要处理一百多条、而且要反复回去复用旧素材的时候,名字就是索引。名字乱,等于没有索引。

为什么名字这么要紧

我当时用飞书搭了个知识库,把脚本、素材、上传、置顶文案复盘成一条批量生产流程。流程能不能跑起来,前提是文件名可预测:

  • 一条脚本要对应一批素材,靠名字里的脚本编号能对上;
  • 裂变出来的 121 条,要能按序号排序、按日期归档;
  • 两周后回头复用某个镜头,得能靠关键词搜到,而不是靠回忆”那天那个……好像在第三个文件夹?”

说白了:名字不是给现在的我看的,是给一周后那个已经忘光的我看的。

PowerRename:微软塞进 PowerToys 里的那把刀

PowerRename 是 PowerToys 里的一个模块。PowerToys 是微软官方出的一套 Windows 效率工具集,免费、开源,装上之后会在文件资源管理器的右键菜单里多出一项 Rename with PowerRename。

真正让我留下来的,是三件事:

  1. 改之前先看结果。 上面填”查找”、下面填”替换”,中间实时列出每一行改完会变成什么样。没点应用之前,硬盘上一个字节都不动。
  2. 支持正则。 勾上 Use regular expressions,就能用捕获组,把 VID_20250512_143022 这种机器名里的日期和时间拆出来重新拼。
  3. 能自动编号。 替换值里写 ${padding=3;start=1},它就会给选中的文件依次补上 001、002、003——补零是自动的,不会排成 1, 10, 11, 2。

还有一个救命细节:改错了不用慌,资源管理器里 Ctrl+Z 能撤销。

我的三步

第一步:先把脏东西洗掉

最浅的一层,纯文本查找替换,连正则都不用开。

比如把一批从微信里存下来的图片统一去掉前缀:

  • 查找:微信图片_
  • 替换:(留空)

微信图片_20250512143022.jpg 就变成了 20250512143022.jpg。这一步的价值不是省时间,是让后面所有规则有一个稳定的输入。

第二步:统一前缀 + 自动编号(用得最多的一步)

选中一批要归到同一个脚本下的素材:

  • 查找:^VID_.*(勾上正则)
  • 替换:20250512_脚本A_口播_${padding=3;start=1}
  • 应用到:仅文件名(扩展名不动)

于是:

VID_20250512_143022.mp4  ->  20250512_脚本A_口播_001.mp4
VID_20250512_143155.mp4  ->  20250512_脚本A_口播_002.mp4
VID_20250512_143401.mp4  ->  20250512_脚本A_口播_003.mp4

一次点击,几十条素材全部归位,扩展名原样保留。

第三步:名字里本来就有信息,就别盖掉

相机和手机导出的名字里通常已经带日期时间,与其盖掉,不如拆出来重排。用捕获组:

  • 查找:^VID_(\d{8})_(\d{6})$(勾正则,并勾上”匹配所有出现”)
  • 替换:$1_$2_口播

VID_20250512_143022 → 20250512_143022_口播。

$1、$2 就是正则里那两对括号抓到的东西——年日月、时分秒。日期时间没丢,还多了语义。

换了 Mac 之后:右键就能做,不用装任何东西

后来我的主力机换成了 Mac。26 年再碰到批量重命名的活儿,我第一反应是去找”Mac 上的 PowerRename”,找了一圈才发现:这件事根本不用装工具。

在访达里选中一批文件,右键 →「重新命名…」(选中 N 个时会显示成「重新命名 N 个项目」),弹出的面板给了三种做法,和上面那三步几乎一一对应:

想干什么 macOS 右键面板里怎么选 对应 PowerRename
去掉 / 替换名字里的某段字 替换文本:”查找”填要删的,”替换成”留空就是删 纯文本查找替换
统一加前缀或后缀 添加文本:选”名称之前 / 之后” 同
统一前缀 + 补零编号 格式 → 名称和计数器:自定义格式填前缀,”起始数字”填 1 ${padding=3;start=1}
统一前缀 + 不补零编号 格式 → 名称和索引 ${start=1}(无 padding)
按修改日期命名 格式 → 名称和日期 $YYYY / $MM / $DD 日期变量

也就是说,我在 Windows 上最依赖的那招”统一前缀 + 补零编号”,在 Mac 上对应的就是「名称和计数器」——它会补前导零,生成 001、002、003,排序时不会出现 1, 10, 11, 2 这种乱序。「名称和索引」则是纯数字 1, 2, 3,不补零。

改错了同样是 Command + Z(或菜单栏”编辑 → 撤销重新命名”),整批撤销。

别去找”快捷指令”里的现成动作,我走错过路

我一开始跑偏了,先去 Automator 和”快捷指令”里翻。这里得澄清一句:右键菜单里那个「快速操作」(Quick Actions)子菜单,系统自带的那些是旋转、标记、创建 PDF、转换图像这类处理文件内容的动作,并不负责重命名。想批量改名,认准同一级菜单里的「重新命名…」就够了——除非你自己写一个(见下一节)。

边界:唯一做不到的是正则

右键这套只能做”整段查找替换”和”套模板编号”——没有正则,也就没法像 PowerRename 那样用捕获组,把 VID_20250512_143022 里的日期和时间拆出来重新拼。

我日常九成的重命名需求——洗掉脏前缀、统一前缀加编号——右键那一下就够了。剩下那一成,可以这么补。

想上正则怎么办:快速操作 + 一段脚本

办法是有的:用「快捷指令」新建一个快速操作(接收访达里的”文件或文件夹”),里面只放一个「运行 Shell 脚本」动作,让脚本去做正则。保存之后,访达右键 → 快速操作 → 就能直接调用。

把上面 Windows 那步 ^VID_(\d{8})_(\d{6})$ → $1_$2_口播 搬到 Mac 上,脚本是这么写的:

for f in "$@"; do
  dir=$(dirname "$f"); base=$(basename "$f")
  name="${base%.*}"; ext="${base##*.}"
  new=$(printf '%s' "$name" | perl -pe 's/^VID_(\d{8})_(\d{6})$/$1_$2_口播/')
  [ "$new" != "$name" ] && mv "$f" "$dir/$new.$ext"
done

嫌长可以用 zsh 自带的 zmv:

autoload -Uz zmv
zmv 'VID_(*)_(*).mp4' '${1}_${2}_口播.mp4'

zmv 加 -n 是空跑预览——只打印将要改成什么、不动手。所以流程是:先 zmv -n 看一眼对不对,确认了再去掉 -n 真跑。

能力是追平了,但有两样东西追不回来:

  PowerRename 快速操作 + 脚本
正则 / 捕获组 ✅ ✅
补零计数 ✅ ✅(右键本身就有)
实时预览 ✅ 面板里逐行显示 ⚠️ 只能靠 zmv -n 空跑
Ctrl/Command+Z 整批撤销 ✅ ❌ 脚本改名后访达撤销不可靠
上手成本 装个软件 写 + 长期维护脚本
上限 微软给什么用什么 任意逻辑(能读元数据、按内容改名)

所以我的选择是:不为这一成需求去维护一个快速操作。真偶尔要拆字段重排,临时开终端 zmv -n 看一眼再执行,比养着一个脚本省心,也避开了”脚本改名撤销不了”这个风险。

边界,我不想把它说成万能

  1. 它只在 Windows 上。 PowerToys 是 Windows 工具,没有 Mac 版。我当时用的是 Windows 电脑;后来主力机换成 Mac,这套就用不了了——Mac 上的替代做法见上一节。
  2. 它只改名字,不动内容。 不碰文件内容、不改编码、不转格式——这反而是我敢放心用的原因。
  3. 撤销只管最后一步。 Ctrl+Z 能救回来,但别指望撤一长串;大批量操作前,可以自己检查完之后再让agent检查一遍确保无误。

为什么它也进了这个工具箱

和上一篇一样:卡住 → 硬扛 → 撞上一个工具 → 突然顺了。

我第一次意识到”重命名”是个真问题,是在连续两天翻不出一条旧镜头之后。它不是什么高深技术,但恰恰是这种没人会专门去教、小到不好意思开口问的东西,最浪费时间。

工具会过时,但”我当时被什么卡住、我是怎么判断该用什么工具的”不会过时。这是这个工具箱想记下来的东西。


附录

  • PowerToys:微软官方 Windows 效率工具集,免费开源,支持 Windows 10 / 11。仓库 https://github.com/microsoft/PowerToys
  • PowerRename:其中的批量重命名模块。支持查找替换、正则表达式(ECMAScript 语法)、计数器 ${padding=3;start=1}、文本大小写转换、实时预览、Ctrl+Z 撤销;可作用于文件名或仅扩展名,可包含/排除子文件夹。官方文档见微软 PowerToys 文档站。
  • macOS 访达批量重命名:系统自带,无需安装。选中文件 → 右键「重新命名…」→ 替换文本 / 添加文本 / 格式(名称和索引、名称和计数器、名称和日期)。官方说明见 Apple 支持文档《在 Mac 上给文件、文件夹和磁盘重新命名》:https://support.apple.com/zh-cn/guide/mac-help/mchlp1144/mac
Written on September 5, 2026