上周整理硬盘时,发现下载文件夹里堆了200多个截图,名字全是「WeChat Image_20240315123456.png」「WeChat Image_20240315123501.png」……想按日期+序号重命名,手动一个一个改?光看就头皮发麻。
其实不用第三方软件,Windows 自带的批处理就能干
新建一个文本文件,把后缀改成 .bat,双击就跑——不装软件、不注册、不联网,连管理员权限都不需要。关键是真的快。
基础操作:给当前目录所有 JPG 文件统一加前缀
比如你想把「IMG_001.jpg」「photo.jpg」都变成「2024备份_IMG_001.jpg」「2024备份_photo.jpg」,就这么写:
@echo off
for %%i in (*.jpg) do ren "%%i" "2024备份_%%i"
pause保存为 rename_jpg.bat,放在图片所在文件夹里,双击运行。注意:如果文件名含空格,引号不能少。
进阶一点:按顺序编号重命名
把「a.jpg」「b.jpg」「c.jpg」变成「001.jpg」「002.jpg」「003.jpg」:
@echo off
setlocal enabledelayedexpansion
set n=1
for %%i in (*.jpg) do (
set "num=00!n!"
ren "%%i" "!num:~-3!.jpg"
set /a n+=1
)
pause这段代码里 !n! 是动态变量,set /a n+=1 是自增,!num:~-3! 表示取末尾三位数字(自动补零),所以第1个是001,第12个是012。
实用小技巧
· 想只处理某类文件?把 *.jpg 改成 *.log 或 *.xlsx 就行;
· 想跳过子文件夹?默认就是只处理当前层;
· 想测试效果不真改名?把 ren 换成 echo ren,运行后只显示“将要执行的操作”,确认无误再删掉 echo;
· 中文路径没问题,但别在文件名里用竖线 |、星号 *、问号 ? 这些非法字符,系统会直接跳过。
有次帮同事处理会议录音,87个「录音 (1).mp3」到「录音 (87).mp3」,他还在找重命名工具,我扔过去一个 rename_mp3.bat,3秒执行完,他盯着弹窗看了两秒才点关闭。
不是万能,但够用
它不支持正则替换,也不能跨盘符批量操作,但日常整理照片、下载包、日志文件、课件资料,90% 的场景已经绰绰有余。比打开资源管理器右键属性→重命名→F2→输名字→回车,重复87次,强太多了。