文件批量重命名工具 把按规则批量改名的事情留在浏览器里完成:拖入文件或选整个文件夹,配置好序号、查找替换、大小写、拼音、EXIF 拍摄时间等规则,实时看到旧 → 新对照,确认无误再执行。
支持两种输出方式:
排序 → 命名模板 → 拼音转换 → 查找替换 → 前后缀 → 大小写 → 删除字符 → 改扩展名
理解这个顺序很重要。例如想”先把中文转拼音,再统一加 IMG_ 前缀”——拼音转换在前缀之前,所以拼音模式选好后,前缀框直接填 IMG_ 即可。
| 模板 | 效果 |
|---|---|
| 留空 | 保留原文件名(仅做查找替换/拼音/大小写等次级修改) |
IMG_{n3}{ext} | IMG_001.jpg、IMG_002.jpg …… |
{exif-date}_{exif-time}{ext} | 20240315_142307.jpg(按 EXIF 拍摄时间) |
{mtime}_{name}{ext} | 20240315_合同.pdf(按文件修改日期 + 原名) |
{pinyin}{ext} | ”年终总结.docx” → “nianzhongzongjie.docx” |
{first-letter}_{n4}{ext} | ”张三简历” → “zss_0001.pdf”(拼音首字母 + 序号) |
整个工具不发送任何网络请求。EXIF 解析、拼音转换、改名都在你的浏览器内存中完成,关闭页面所有数据即销毁。可在浏览器开发者工具的”网络”面板验证。
不会。所有读写都在浏览器内完成。EXIF 解析用 exifr、拼音用 pinyin-pro、ZIP 用 JSZip,都是纯前端库。可在开发者工具的"网络"面板验证:处理过程中没有任何对外请求。
- 原地改名:必须用"选择文件夹(原地改名)"按钮加载,工具会请求该目录的写入权限,直接修改原文件名,没有副本、没有下载。仅 Chrome / Edge / 新版 Safari 支持(File System Access API)。 - ZIP 下载:把所有改名后的文件打包成一个 ZIP 让浏览器下载,原文件不动。任何浏览器都能用,但大批量文件会占内存。
- 序号:{n} {n3} {n4} {n5}(数字 = 补零位数)
- 原名:{name} 不含扩展名 | {ext} 含点的扩展名
- 当前时间:{date} {time}
- 修改时间:{mtime} {mtime-time}
- EXIF 拍摄时间:{exif-date} {exif-time}(仅图片,自动读取)
- 拼音:{pinyin} 全拼 | {first-letter} 首字母
- 随机:{rand} 6 位字母数字串
{exif-date} 在视频上有效吗?当前仅支持图片(JPG / HEIC / TIFF / RAW 等)。视频的元数据格式各异(MP4 atoms、MOV、AVI),exifr 不解析。如需视频按拍摄时间命名,可改用 {mtime} —— 多数相机/手机拍完后修改时间约等于拍摄时间。
{exif-date} 会怎样?输出空字符串。例如截图、网络下载图、被 EXIF 清除工具处理过的图,都没有 DateTimeOriginal。建议在模板中加兜底,如 {exif-date}{name}{ext},无 EXIF 时至少保留原名不冲突。
pinyin-pro 库内置词库,常用词的多音字会按词义判断(如"重"在"重新"读 chóng、在"重要"读 zhòng)。但人名、地名等专有名词没有上下文时可能不准。首字母模式(仅 Z/C 等单字母)受多音字影响最小。
勾选"正则"后,查找框填正则表达式(不带 /),替换框可用 $1、$2 引用分组。
例:把 IMG_20240315_142307.jpg 这类时间戳重排成 2024-03-15.jpg —— 查找 IMG_(\d{4})(\d{2})(\d{2})_\d+,替换 $1-$2-$3。
非法正则(如未闭合的括号)会被静默跳过,不影响其它规则。
说明你的规则让多个文件最终落到同一个新名(比如全部清空 + 不加序号)。预览红色行存在时,执行按钮会被禁用。常见解法:在模板里加 {n3} 或 {rand} 保证唯一性,或缩小查找范围避免误改。
Windows 文件系统不允许的字符:\\ / : * ? " < > |。出现这些字符的新名会被标红并阻止执行——通常是模板/替换规则里手抖加进去的。macOS / Linux 限制更宽松,但为跨平台兼容,工具一律按 Windows 标准检查。
拖入文件夹时会递归读取所有子目录,预览中显示完整相对路径(如 sub/img.jpg)。ZIP 下载会保留目录结构;原地改名只支持当前选中目录的直接子文件(不递归子文件夹),避免误改深层文件。
ZIP 模式受浏览器内存限制,建议总大小 1–2 GB 以内、文件数 5000 以内。原地改名模式几乎无限制——文件不需要全部加载到内存,逐个 move() 即可,万级文件也没问题(但 EXIF 预读会比较久)。
ZIP 下载会保留(取自 File.lastModified)。原地改名只是改名字,mtime 由操作系统在 rename 操作时是否更新决定——多数文件系统不会因 rename 改 mtime,所以也会保留。
{n} 序号 | {n3} 三位补零 | {n5} 五位补零{name} 原文件名(不含扩展) | {ext} 原扩展名(含点){date} {time} 当前日期/时间 | {mtime} 修改时间{exif-date} {exif-time} EXIF 拍摄日期/时间(仅图片,自动读取){pinyin} 原名拼音 | {first-letter} 拼音首字母 | {rand} 6 位随机串\ / : * ? " < > |。