Windows 其實內建許多可以更改大量檔案名稱的方法,有時候熟悉這些小技巧可以節省您很多時間。 有時候我們會從網路上下載許多圖片與檔案,通常檔案的名稱也是亂七八糟的,為了讓檔案看起更整齊,我們通常會將同一系列的檔案重新依照自己的規則來命名,但是如果檔案數量很多時,要手動更改每個檔案的名稱也是很累的。 所幸在 Windows 中本身就有內建一些更改大量檔案名稱的功能,只是一般人不曉得如何使用,以下分別介紹以檔案總管、命列提示字元與 PowerShell 的改檔名方法。 檔案總管 檔案總管是一個最方便的工具,不需要學習任何指令即可使用,不過功能就比較陽春,以下是使用檔案總管更改多個檔案名稱的步驟。 STEP 1 首先開啟檔案總管,找到要更改檔名的檔案。 STEP 2 選取要更改檔名的檔案。 STEP 3 在第一個檔案上按下右鍵,選擇「重新命名」。輸入新的檔名。 STEP 5 輸入完之後,按下 Enter 鍵。 STEP 6 這樣檔案總管就會將所有選取的檔案重新命名為指定的檔案名稱,並且依照原本的順序編號。 命令提示字元 在 Windows 的命令提示字元之中,我們可以使用 rename 或 ren 指令配合萬用字元(*)來一次更改多的檔案的檔名。 STEP 1 若要開啟命令提示字元重新命名檔案,可以按著 Shift 鍵,並在資料夾的空白處點選滑鼠右鍵,選擇「在此處開啟命令式窗」。 STEP 2 使用 rename 或 ren 指令批次更改檔案名稱,最常見的使用方式就是更改副檔名: ren *.html *.txt STEP 3 這樣就完成了。 PowerShell Windows 的 PowerShell 的功能比命令提示字元還要強大,他可以使用管(pipe)的功能將多個指令結合起來使用,就像在 Linux shell 中一樣。 假設我沒有一些檔案,檔名中包含許多空白,以下示範將所有檔案名稱中的空白字元置換為減號(-)。 STEP 1 在主選單中找到 Windows PowerShell,並開啟它。 Windows 主選單 STEP 2 切換至檔案所在目錄後,使用 Dir 指令將所有的檔案名稱列出來,然後交給 Rename-Item 指令進行更改檔名的動作。 Dir | Rename-Item -NewName { $_.name -replace " ", "-" } PowerShell 視窗 STEP 3 這樣就完成了。 以下補充一些比較複雜的 PowerShell 範例。 這一個是把所有的 jpg 圖檔重新命名為 image_編號.jpg,而編號的起始數字可以自己設定: # 把所有的 JPG 檔案重新命名為 image_編號.jpg Get-ChildItem *.jpg | ForEach-Object -Begin { $count = 1 } -Process { Rename-Item $_ -NewName "image_$count.jpg" $count++ } 這一段指令是將所有的 *.jpeg 檔案的副檔名改為 jpg,讓副檔名規則統一: # 將所有 *.jpeg 檔案的副檔名改為 jpg Get-ChildItem *.jpeg | Rename-Item -NewName { [System.IO.Path]::ChangeExtension($_.Name, ".jpg") } 這一段指令稿是從所有的 *.jpg 檔案中,找出含有 oldstring 字眼的檔案,然後把 oldstring 這個字眼全部改為 newstring: # 從所有的 *.jpg 檔案中,找出含有 oldstring 字眼的檔案, # 把 oldstring 改為 newstring Get-ChildItem *.jpg -Filter "*oldstring*" | ForEach { Rename-Item $_ -NewName $_.Name.Replace("oldstring","newstring") } 事實上 Windows 的 PowerShell 的功能不只這些,它提供了豐富的控制與自動化的系統管理能力,若您對於 PowerShell 有興趣,可以參考微軟官方的教學文件。 [geo 在 2021-4-15 02:57 PM 作了最後編輯]