这个问题问得好。很多人一遇到批量重命名,第一反应就是去下载各种”魔法更名”软件。其实Windows自己就带了个挺好用的功能,而且操作简单得有点离谱。
今天就教你两招,一个基础版,一个高阶版。
第一招:全选→F2→回车(最简单的玩法)
这招适合按顺序编号的场景,比如”照片001、照片002、照片003″这种。
操作步骤:
-
打开文件夹,Ctrl + A 全选所有要改名的文件
-
按下键盘上的 F2 键(对,就是平时用来改单个文件名的那个键)
-
输入你想要的基础名字,比如”旅行照”
-
敲 回车
Windows 会自动帮你把它变成:
-
旅行照 (1).jpg -
旅行照 (2).jpg -
旅行照 (3).jpg -
……以此类推
就这么简单。你甚至不用去找”批量重命名”的菜单在哪里,一个快捷键搞定。
缺点: 只能加括号序号,不能做更复杂的操作(比如替换文字、改扩展名、自定义格式)。如果你需要更灵活的,往下看。
第二招:PowerShell(真正的”大杀器”)
这招看着像个命令行,但你只需要复制粘贴改几个字就行,不要害怕。
场景一:批量添加前缀或后缀
比如你的文件名都是 IMG_001.jpg,想统一改成 2024_IMG_001.jpg。
操作:
-
在文件夹的地址栏里,清空路径,输入
cmd然后回车——这会直接在当前文件夹打开命令提示符。 -
输入
powershell回车,进入PowerShell环境。 -
输入下面这行命令(直接复制粘贴,改一下
前缀那两个字):
Dir | Rename-Item -NewName {"前缀" + $_.Name}
比如你想加前缀”2024_”,就改成:
Dir | Rename-Item -NewName {"2024_" + $_.Name}
敲回车,文件名全变了。
如果想加后缀呢? 注意后缀要加在扩展名前面,别把”.jpg”给盖了:
Dir | Rename-Item -NewName {$_.BaseName + "后缀" + $_.Extension}
比如把”IMG_001.jpg”改成”IMG_001_已修.jpg”:
Dir | Rename-Item -NewName {$_.BaseName + "_已修" + $_.Extension}
场景二:批量替换文件名里的某个词
比如你有一堆文件叫”旧公司_报告1.docx””旧公司_报告2.docx”,想改成”新公司_报告1.docx”。
操作:
Dir | Rename-Item -NewName {$_.Name -replace "旧公司", "新公司"}
就这一句,所有文件名里的”旧公司”全换成”新公司”了。
场景三:自定义序号格式
基础版F2只能生成 (1) (2) (3),如果你想生成 001 002 003(带前导零的那种),就得用这个:
$i=1; Dir *.jpg | ForEach-Object { Rename-Item $_ -NewName ("照片{0:D3}.jpg" -f $i++) }
解释一下:{0:D3} 的意思是”三位数字,不够补零”,所以会生成 照片001.jpg、照片002.jpg……一直到最后一个。
想改成”四位数字”就改成 D4,想改成”两位”就改成 D2。
场景四:按修改时间排序后重命名
有时候你想把照片按拍摄时间排好,然后从前往后编号。Windows默认是按文件名排的,你可以这样:
$i=1; Dir *.jpg | Sort-Object LastWriteTime | ForEach-Object { Rename-Item $_ -NewName ("顺序_{0:D3}.jpg" -f $i++) }
这里的 Sort-Object LastWriteTime 就是按最后修改时间排序,最旧的排第一,最新的排最后。想反过来(最新的排第一)就改成 Sort-Object LastWriteTime -Descending。
场景五:提取某一段文字作为新文件名
这个稍微复杂点,但很实用。比如你的文件名是 报告_2024_07_财务版.docx,想只保留中间的日期 2024_07:
Dir | Rename-Item -NewName {($_.Name -split "_")[1] + "_" + ($_.Name -split "_")[2] + $_.Extension}
这句的意思是:用下划线_把文件名切开,取第2段(索引从0开始,所以[1]是”2024″,[2]是”07″),再拼起来。
看不懂没关系,你只需要知道PowerShell能做到非常精细的改名就行。遇到需求了可以把规则告诉我,我帮你写命令。
别忘了这几点
-
改名之前先复制一份,尤其是用PowerShell的时候。一个回车下去,文件名就全变了,撤销不了(Ctrl+Z在文件管理器里不管用)。
-
先挑几个文件试一下。新建个文件夹,拷几个文件进去,试运行一遍,确认没问题了再操作全部。
-
注意扩展名。
.jpg、.png、.docx这些是文件的”身份证”,改的时候别把它们弄丢了。上面给的命令里都带了$_.Extension,就是专门保扩展名的。 -
别把系统文件拖进去改名。只操作你自己的文档、照片就行。
总结一下
| 需求 | 用什么 |
|---|---|
| 批量编号(001、002) | F2全选,或者PowerShell的D3格式 |
| 批量加前缀/后缀 | PowerShell |
| 批量替换文字 | PowerShell的 -replace |
| 按日期排序后编号 | PowerShell + Sort-Object |
Windows自带的批量改名功能,说强不强,但应付日常需求绰绰有余。那些动不动就让你下”专业重命名工具”的网页,多半是想顺手给你装个全家桶。
行了,去试试吧。下次你同事还在一个个点右键改名字的时候,你手起刀落一秒搞定,然后淡淡地说一句:”系统自带,你不知道吗?” 😎
