在日常使用电脑时,经常会遇到需要修改文件名的情况。比如从相机导出的一堆照片,名字全是 DSC_0001、DSC_0002 这样的编号,看起来既不直观也不方便管理。这时候如果一个个手动改,费时又费力。其实,用命令行工具重命名文件,几分钟就能搞定上百个文件。
Windows 下用 ren 命令
在 Windows 系统中,ren 是最基础的重命名命令。打开命令提示符(cmd),进入目标文件夹后就可以操作。
比如要把当前目录下所有 .txt 文件的后缀改成 .log,可以这样写:
ren *.txt *.log
注意:这个命令不能跨驱动器或目录操作,只能在当前路径下进行。而且如果文件名中有空格或特殊字符,最好用引号包起来避免出错。
macOS 和 Linux 用 mv 和 rename
在 macOS 或 Linux 中,常用的命令是 mv,它既可以移动文件也能重命名单个文件。
mv oldname.txt newname.txt
但如果你要批量处理,比如把所有 report_2023 开头的文件改成 archive_2023 开头,mv 就不够用了。这时候可以用 rename 命令。
以 Ubuntu 为例,把所有 .jpg 文件的扩展名改为小写(有些系统会生成 .JPG):
rename 's/\.JPG$/.jpg/' *.JPG
或者给一组日志文件统一加前缀:
rename 's/^/backup_/' *.log
实际场景:整理下载的课程资料
假设你从网上下载了一堆视频课件,名字杂乱无章,像 lesson1_final.mp4、lesson2_revised.mp4。你想让它们变成 01-课程视频.mp4、02-课程视频.mp4 这样有序排列。
在 Linux 或 macOS 上,可以写一个简单的循环脚本:
i=1
for file in *.mp4; do
mv "$file" "$(printf '%02d' $i)-课程视频.mp4"
i=$((i + 1))
done
运行完之后,文件就自动按顺序编号了,在资源管理器里也整齐多了。
小贴士:操作前先备份或测试
命令行操作一旦执行就无法撤销。建议在正式运行前,先用 echo 模拟一下效果:
i=1
for file in *.mp4; do
echo mv "$file" "$(printf '%02d' $i)-课程视频.mp4"
i=$((i + 1))
done
这样只会打印出将要执行的命令,不会真正改动文件,确认无误后再去掉 echo 执行真实操作。
掌握这些命令行工具后,再也不用手动点鼠标一个个改文件名了。无论是整理照片、归档文档还是处理开发中的资源文件,效率都能提升一大截。