toolfree

批量重新命名

依照指定格式重新命名文件夹里的所有文件,需要 Chrome 或 Edge。文件不会离开你的磁碟,重名也会在写入前就被挡下。

在你的浏览器中运行

这个工具需要 File System Access API,只有 Chromium 系的浏览器才有——桌面版的 Chrome、Edge、Opera、Arc 和 Brave。Firefox 和 Safari 根本不允许网页取得重命名磁盘文件的权限,所以没有替代方案可以提供。下面的说明仍然可以让你了解这个工具在做什么。

只能在 Chrome、Edge 等 Chromium 浏览器上使用

这是这里唯一一个不是每个浏览器都能用的工具,值得把原因说清楚。

要重新命名磁碟上的文件,需要 File System Access API——它让网页能对你明确选定的 文件夹请求写入权限。目前只有 Chromium 系的浏览器实作了它:桌面版的 Chrome、Edge、 Opera、Arc 和 Brave。

Firefox 和 Safari 明确选择不实作。这不是可以绕过去的疏漏:网页没有别的方法能就地改掉 一个文件的名字,所以没有替代方案,也没有什么可以拿来顶替。在那些浏览器上,这一页会直接 说明情况,而不是摆出一堆按了也没用的控制项。

在任何浏览器上都没有上传。你选的文件夹是由浏览器直接开启的,文件的读写都发生在你自己的 磁碟上。

所有新档名都在写入前就算好了

批量重新命名最危险的失败,是两个文件最后叫同一个名字。后面那个会覆盖前面那个,原本的 文件就消失了。

所以这里会先把整份改名结果算成一张表,在动到任何一个文件之前检查完毕。如果有两个文件会 撞名,按钮根本不会变成可按——预览会把出问题的列标成红色并说明原因。档名含有文件系统 不接受的字元时也一样。

撞名检查是不分大小写的,因为 macOS 和 Windows 会把 Photo.jpgphoto.jpg 当成 同一个文件,即使字符串不同。只比对完全相同的字符串,会判定这一对是安全的,然后毁掉其中一个。

命名格式

代号会变成
{name}原本的档名,不含副档名
{ext}副档名,不含那个点
{n}流水号
{n:03}补零到三位的流水号
{i}在清单中的位次,一律从 1 开始

**副档名会自动保留。**格式写 holiday-{n}DSC0042.jpg 会变成 holiday-1.jpg ——你不需要记得加 .{ext},而且忘了加也不会把整个文件夹的副档名都砍掉。只有当你想把副 档名放在别的位置时,才需要自己写 {ext}

**记得帮流水号补零。**一个有 120 个文件的文件夹用 {n} 会产生 12……120,而 几乎所有文件管理员都会把 10 排在 2 前面。用 {n:03} 会得到 001002…… 120,在哪里排序都正确。

当你改了起始值或间隔之后,{i}{n} 就不一样了:{i} 永远是清单中的位次,{n} 则是你设定的那个流水号。

寻找与取代

寻找与取代作用在展开格式之前的原档名上,而且只作用在副档名以前的部分——所以把 txt 取代掉,不会把 .txt 变成 .doc

默认是字面搜索,IMG. 就是比对 IMG. 这四个字元,不会有别的解释。勾选正规表示式 就会改用样式比对,此时 . 代表任意字元,取代字符串里的 $1 代表第一个撷取群组:寻找 ^IMG_(\d+)$,取代为 photo-$1

这里的「重新命名」实际上做了什么

这个 API 没有重新命名的操作,所以每个文件都是复制成新档名,再删掉旧的。内容完全相同, 但有两点和真正的重新命名不一样:

文件的处理顺序与你的文件管理员显示的顺序相同——依档名排序,数字以数值比较——所以 {n} 会跟着你看得到的顺序走。

建议先拿副本试一次

不是因为预览不可靠,而是因为这样做的成本是零,而且这是这里唯一一个会改动你既有文件的 工具。