在重装系统后,整理旧数据是常有的事。比如从备份盘拷贝回来的照片、文档或下载文件,常常遇到一堆命名混乱的文件,像 IMG_001.jpg、VID_20230501_1200.mp4 这类名字堆在一起,看着就头疼。手动一个个改不现实,这时候用命令行批量改名文件,几分钟就能搞定几百个文件。
Windows 下用 ren 命令批量处理
如果你刚重装完 Windows 系统,还没装第三方工具,直接打开命令提示符(cmd)就能操作。比如你有一堆照片都在 D:\photos 目录下,想把所有 .jpg 文件统一改成 pic 开头加序号的形式。
先进入目录:
cd /d D:\photos
然后使用 for 循环配合 ren 命令:
set n=1 & for %i in (*.jpg) do ren "%i" pic!n!.jpg & set /a n+=1
注意:在批处理脚本中要用 %%i,直接在命令行输入则用 %i。这条命令会把所有 JPG 文件依次重命名为 pic1.jpg、pic2.jpg……顺序按字母排列。
Linux 和 macOS 用 rename 或 shell 脚本
如果你用的是 Linux 或者 macOS,或者正在准备重装为 Linux 系统,rename 命令更强大。有些发行版默认没装 rename,先用 apt 或 yum 安装一下:
sudo apt install rename
比如要把当前目录下所有 .txt 文件的空格换成下划线:
rename 's/ /_/g' *.txt
或者把所有文件名转成小写:
rename 'y/A-Z/a-z/' *
如果系统没有 rename,也可以用 bash 脚本循环处理:
n=1; for file in *.pdf; do mv "$file" "document_$n.pdf"; let n++; done
实际场景:整理重装前的下载文件夹
假设你重装系统前忘了清理下载目录,现在里面有几十个叫「新建文本文档 (2).txt」「补丁包.zip.1」这种名字的文件。用图形界面拖来拖去容易出错,还费时间。直接进命令行,三两下解决。
比如只保留主文件名,去掉多余的数字和括号:
for %i in (*(*).*) do @echo ren "%i" "%~ni%~xi"
先预览输出是否正确,没问题再去掉 @echo 真正执行。
命令行批量改名文件不是程序员专属技能,普通用户掌握几个常用命令,能省下大把重复劳动的时间。尤其是在系统重装、数据迁移这类操作中,效率提升非常明显。