科技知识港
第二套高阶模板 · 更大气的阅读体验

命令行批量改名文件:高效处理大量文件的实用技巧(实用技巧版)

发布时间:2025-12-10 10:37:10 阅读:15 次

在重装系统后,整理旧数据是常有的事。比如从备份盘拷贝回来的照片、文档或下载文件,常常遇到一堆命名混乱的文件,像 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 真正执行。

命令行批量改名文件不是程序员专属技能,普通用户掌握几个常用命令,能省下大把重复劳动的时间。尤其是在系统重装、数据迁移这类操作中,效率提升非常明显。