介绍Windows 大量档案批次重新命名的各种方法,并提供实用的范例。


在Windows 中如果想要一次更改大量档案的档案名称,有好多种方式,以下是各种批次更改档案的操作方式以及实际范例。

档案总管

档案总管除了以手动更改单一档案的名称之外,也可以将多个档案选取后,一次修改多个档名。
Step 1
按住 若要直接选择所有档案,可以使用CtrlShiftCtrlA

选取档案

Step 2

按下滑鼠右键,在右键选单中选择「重新命名」。

重新命名

除了从右键选单中选择「重新命名」之外,也可以直接按下 F2

Step 3

输入新的档案名称。

输入档名

Step 4

这样档案总管就会将所有的档名改为新的名称,并且自动加上编号。

新档名

命令提示字元

若要使用命令提示字元来更改档名,首先要开启命令提示字元,并切换至档案所在目录,最快的做法就是直接在档案总管中启动命令提示字元。
Step 1
在档案总管的位址列中,直接输入 cmdEnter

输入 cmd

Step 2

在档案总管中直接开启命令提示字元,其预设路径就会自动设定为目前所在的目录,接着即可执行更改档案名称的指令了。

命令提示字元

在命令提示字元中,要更改档名可以使用 ren

保留前三个字母

若要將所有的 JPG 圖檔(*.jpg)保留原檔案名稱的前三個字母,然後再加上 -new-name.jpg 做為新的檔案名稱,可以執行:

ren *.jpg ???-new-name.jpg
更改檔案名稱

執行後的結果會像這樣:

更改檔案名稱結果

縮短檔案名稱

如果有許多的檔案名稱太長,就可以執行類似這樣的指令,只保留前面幾個字母:

ren *.* ?????.*

這樣就可以只保留原檔名的前五個字母,讓檔名更精簡:

更改檔案名稱結果

保留連字線之前的名稱

如果要保留檔名中連字線之前的名稱,將後方改為 -orig.jpg 結尾,可以執行:

ren *-*.jpg *-orig.jpg
更改檔案名稱結果

更改副檔名

若要將所有的 JPG 檔案的副檔名更改為 JPEG,可以執行:

ren *.jpg *.jpeg
更改檔案名稱結果

PowerShell

在檔案總管中也可以直接啟動 PowerShell,是一種很實用的隱藏功能。
Step 1
在檔案總管的目錄中,先按住 Shift 鍵,然後在空白處按下滑鼠右鍵,在選單中點選「在這裡開啟 PowerShell 視窗」。

在這裡開啟 PowerShell 視窗

Step 2
這樣開啟的 PowerShell 視窗,其預設路徑就會是目前所在的目錄。

PowerShell 視窗

在 PowerShell 中,若要大量更改檔名通常都會使用 Dir 指令列出檔案名稱,再交給 Rename-Item 指令來更改檔名,以下是一些範例。

大量更改檔名

若要將所有的 JPG 檔案更改為相同的檔名,並自動加上編號,可以執行:

Dir *.jpg | %{Rename-Item $_ -NewName ("new-name-{0}.jpg" -f $c++)}
大量更改檔名

執行的結果會像這樣:

更改檔案名稱結果

若要讓數字統一為三位數,不足則補 0,可以這樣寫:

Dir *.jpg | %{Rename-Item $_ -NewName ("new-name-{0:000}.jpg" -f $c++)}

保留檔名前四個字母

若想要將太長的檔案名稱縮短,只保留每個檔名的前四個字母,可以執行:

Dir | Rename-Item -NewName {$_.Name.Substring(0,4) + $_.Extension}
更改檔案名稱結果

更改副檔名

若要將所有的 JPG 檔案的副檔名改為 jpeg,可以執行:

Dir *.jpg | Rename-Item -NewName { [io.path]::ChangeExtension($_.name, "jpeg") }

取代檔名中的關鍵字

若要將檔案名稱中特定的字詞取代成新的文字,可以執行:

Dir | Rename-Item -NewName {$_.Name -replace "old","new"}

若將新的字串設定為空字串,就等於刪除關鍵字的效果:

Dir | Rename-Item -NewName {$_.Name -replace "keyword",""}

將檔名中的空白字元,以下底線來取代也是很常用的指令:

Dir | Rename-Item -NewName { $_.Name -replace " ","_" }

參考資料:Windows CentralG. T. Wang

讀者互動

Oh 游读者 👋
It’s nice to meet you.

每周三,您都将收到一封内容详实的Newsletter.

close

Oh 游读者 👋
It’s nice to meet you.

每周三,您都将收到一封内容详实的Newsletter.