平时处理一堆文件时,比如下载了一堆照片、课件或者报告,文件名乱七八糟,手动一个个改太费劲。其实用命令行工具重命名文件,几秒钟就能搞定,特别适合批量处理。
Windows 上用 rename 命令
在 Windows 的命令提示符(cmd)里,rename 是最基础的重命名命令。比如你有一堆截图叫 Screenshot_01.png、Screenshot_02.png,想改成 Photo_01.png 这样的格式:
rename Screenshot_*.png Photo_*.png
这条命令会把所有以 Screenshot_ 开头、.png 结尾的文件,批量替换成 Photo_ 开头的名字。注意,通配符 * 代表任意字符,实际使用时不能加引号。
macOS 和 Linux 用 mv 或 rename
在 macOS 或 Linux 终端中,mv 命令常用于单个文件重命名:
mv oldname.txt newname.txt
但要批量操作,得借助 rename 命令(部分系统需要先安装)。比如把所有 .JPG 文件改成小写的 .jpg:
rename 's/\.JPG$/.jpg/' *.JPG
这里用了正则表达式,s 表示替换,\.JPG$ 指的是以 .JPG 结尾的文件名,替换成 .jpg。如果你有十个图片文件,一条命令全搞定,不用点开十次右键重命名。
实际场景:整理课程资料
假设你从不同渠道收集了《Python入门》的讲义,文件名叫“讲义v1.pdf”、“python-lesson-final.pdf”、“笔记-完整版.pdf”,想统一成“Python_01.pdf”、“Python_02.pdf”这种格式。
先进入目标文件夹,在终端运行:
i=1; for file in *.pdf; do mv "$file" "Python_$i.pdf"; i=$((i+1)); done
这段 shell 脚本会遍历当前目录所有 .pdf 文件,按顺序重命名为 Python_01.pdf、Python_02.pdf……整洁又省事。
小贴士
用命令行重命名前,最好先备份重要文件,或者先在测试文件夹试一遍命令。尤其是涉及正则或循环脚本,万一写错可能误伤其他文件。另外,文件名包含空格时,记得用引号包裹变量,比如 "$file",避免命令解析出错。
熟练之后,你会发现命令行比鼠标拖拽快得多,尤其面对几十上百个文档时,敲一行命令,喝口水的功夫就整整齐齐了。