你是不是也遇到过这种情况:从监控系统导出了一堆录像文件,名字全是类似 CAM01_20231001_120000.avi 这样的编号,时间一长根本分不清哪个是哪天录的。想按日期整理,但几百个文件一个个改太费劲。
其实 Windows 有个隐藏神器——批处理文件(.bat),不用装软件,几行命令就能帮你自动批量重命名。
先看个实际例子
比如你有一堆截图,都叫 screenshot_001.png、screenshot_002.png……你想把它们改成 监控画面-1.png、监控画面-2.png 这样更直观的名字。
打开记事本,输入以下内容:
@echo off
setlocal enabledelayedexpansion
set count=1
for %%f in (*.png) do (
ren "%%f" "监控画面-!count!.png"
set /a count+=1
)
保存为 rename.bat,然后把这个文件放到图片所在的文件夹里,双击运行。几秒钟后,所有文件就按新规则重命名好了。
如果文件是按时间排序的呢?
有时候导出的监控视频虽然名字乱,但修改时间是对的。这时候可以按时间顺序重命名。
还是用批处理,代码稍微改一下:
@echo off
setlocal enabledelayedexpansion
set count=1
for /f "delims=" %%f in ('dir /b /o:d *.avi') do (
ren "%%f" "录像-!count!.avi"
set /a count+=1
)
这里 /o:d 是按修改时间排序,最早的排前面,适合用来还原监控录像的时间线。
加个前缀避免覆盖
重命名最怕名字重复导致文件被覆盖。可以在新名字里加上日期前缀,比如:
ren "%%f" "20231001_监控-!count!.avi"
这样既清晰又安全,还能一眼看出是哪天处理的。
小技巧:只改部分名字
如果只想把所有 temp_ 开头的文件去掉这个前缀,可以用字符串替换:
@echo off
for %%f in (temp_*.txt) do (
set "filename=%%f"
set "newname=!filename:temp_=!"
ren "%%f" "!newname!"
)
这招在清理临时文件时特别实用。
别再手动一个一个点了,写个 .bat 文件,喝口水的功夫就全搞定了。下次导出一堆监控日志时,试试这个方法,省时又省心。