首页 › 文件工具 › 文件批量重命名
🔧

文件批量重命名

拖入上千个文件按模板与序号批量改名,逐行预览手改、重名自动避让,改名后打包 ZIP 或生成改名脚本

把要重命名的文件拖到这里,或点击选择
支持一次添加上千个文件,类型不限(照片、视频、文档、压缩包都可以)
改名、打包、生成脚本都在浏览器本地完成,文件内容不会被上传
重命名规则
还可使用 {date} 今天日期、{time} 当前时间、{mtime} 文件修改日期、{size} 文件大小。 模板里没写 {ext} 时,扩展名会自动保留在末尾;写了就按你放的位置来。
空格改成:

工具介绍

批量改名麻烦的从来不是「改一个」,而是改完发现两个撞名了、扩展名被吃掉了、或者已经想不起来原来叫什么。这个工具把改名做成可以逐行预览的规则:文件拖进来,改一下模板就能看到每一行的新名字,确认没问题再决定怎么落地。

  • 命名模板:{name} 主名、{n} 序号、{ext} 扩展名、{date} 今天、{time} 当前时间、{mtime} 文件修改日期、{size} 文件大小,八个常用模板做成按钮一键填入
  • 序号可控:起始值、步长、补零位数分开设,10 起步、步长 5、四位补零就是 0010 / 0015 / 0020;关掉某一行的改名开关后它不占号,后面的编号自动前移
  • 查找替换支持正则:开正则后可用 $1、$2 反向引用,把 ^(\w+)\s(\d+) 换成 $2_$1,「DSC 0421」就变成「0421_DSC」;表达式写错只在行内提示并保留原名,不会把整列名字清空
  • 大小写与清理:主名可整体转小写、大写、首字母大写或每词首字母大写;空格能换成 - 、_ 或直接删除;\/:*?"<>| 这些非法字符默认清理,重复分隔符自动合并,首尾多余的点与空格去掉,CON、NUL、LPT1 这类系统保留名会加上下划线前缀
  • 扩展名四种处理:保持原样、统一小写、统一大写、强制指定。模板里写了 {ext} 就按你放的位置走,没写则自动把原扩展名接回末尾,不会出现改完打不开的情况
  • 重名自动避让:新名字撞车时自动追加 (2)、 (3),也可以选「保持原名不改」;大小写不同同样算重名,因为 Windows 与 macOS 默认都不区分大小写
  • 逐行手改与排除:预览表格里任何一行都能直接改,手工改过的行不会被后续规则变化覆盖,点「还原」重新跟随规则;不想动的行可以排除,改完发现不对也能整行移除
  • 排序决定编号顺序:按添加顺序、名称、大小、修改时间排好再编号。先按修改时间从新到旧排序,再套 {n},就得到一组按拍摄先后连续的编号
  • 三种落地方式:打包下载改名后的 ZIP(可选平铺或按原目录分层)、复制新文件名列表、复制「原名 → 新名」对照表
  • 生成改名脚本:PowerShell、批处理、Shell 三种格式,逐条给出 Rename-Item、ren、mv -n,原名与新名都做了引号转义,复制到目标目录即可运行

为什么还要给脚本

浏览器出于安全不能直接修改你硬盘上的文件名,所以「打包下载」拿到的是重命名后的副本。想在原目录里就地改名,用生成的脚本更稳妥:文件多、体积大、或者需要保留权限与修改时间时,脚本只改名字不动内容,也不必把几 GB 的文件读进内存。

使用场景

  • 手机导出的照片全是 IMG_2043 副本 (1).JPG,想按拍摄先后统一成 IMG_0001
  • 下载目录里的文件名带着空格和中文括号,丢给服务器或 Git 就出问题,需要一次性清理成安全字符
  • 会议录音、访谈转写按「日期 + 序号」归档,方便和记录对上
  • 扫描件的 scan0001.pdf 想换成 合同-20261020-01.pdf 这类带业务含义的名字
  • 一目录的图片扩展名有 .JPG 也有 .jpg,网页引用时区分大小写会 404
  • 把一批文件改成统一前缀加连续编号,同时留下原名与新名的对照表备查

常见模板速查

想要的效果命名模板配套设置得到
照片连续编号IMG_{n}位数 4IMG_0001.JPG
按拍摄日期分组{mtime}_{n}位数 3,先按修改时间排序20260511_001.JPG
只清空格与符号{name}空格改成 -,清理非法字符DSC-0421-副本.JPG
全部转小写{name}大小写选全部小写,扩展名统一小写photo.png
去掉相机前缀换个头{name}正则查找 ^DSC\s* 替换为空0421.jpg
扫描件按日期编号scan_{date}_{n}位数 2,扩展名统一小写scan_20261020_01.pdf

常见问题

  • 会不会把文件改坏?不会。改名规则只作用在文件名上,打包时读取的是原始字节,内容一个字节都不动;页面也不写你的磁盘
  • 一次能处理多少个?上限 2000 个。文件很多时预览只画前 400 行,但编号、重名避让、脚本和打包仍然覆盖全部文件
  • ZIP 为什么不压缩?照片、视频、安装包本身已经压缩过,再压一遍省不了多少还慢;不压缩存储读写都快,也避免浏览器里的大内存开销。单个文件或总量接近 4GB 时会拒绝打包并建议你用脚本
  • 拖整个文件夹会保留层级吗?默认平铺到 ZIP 根目录,同名文件自动让位;想保留结构就在打包选项里选「按原文件夹分层」
  • 脚本要注意什么?脚本里只有文件名,运行前要先切到文件所在目录;批处理的 ren 遇到同名目标会报错停止,mv -n 则跳过不覆盖。第一次建议先在副本目录里跑一遍
  • 点文件怎么算?.gitignore 这类只有前导点的名字视作「无扩展名」,前导点会被保留,不会被当成空主名
  • 扩展名会不会丢?默认会自动接回原扩展名。只有两种情况由你自己负责:模板里写了 {ext},或者勾了「连扩展名一起替换」(此时整名都交给替换步骤,不再自动补)
  • 只改某几类文件怎么办?把不想动的行在「改名」列里关掉即可;也可以先按名称或修改时间排序,让同类文件聚在前几行再统一处理
  • 信息会上传吗?不会。文件读取、规则计算、打包与脚本生成都在浏览器本地完成,页面不发任何请求,刷新即清空

改之前想先看清文件属性可用 文件信息读取;只要一份文件名清单见 文件名提取;把后缀与主名拆开或单独改后缀大小写,用 文件名后缀拆分 和 后缀大小写转换;改名后要确认副本与原文件一致,用 文件MD5计算 核一遍;配合新名字批量建目录结构可参考 批量文件夹创建。