本文介紹基於PowerShell語言,對文件夾中全部文件的名稱加以批量替換、修改的方法。 在之前的文章中,我們介紹了基於Python語言,批量修改大量文件的名稱的方法。當時我們修改文件名的需求比較複雜,因此選擇了用Python語言來實現;而在我們的需求重命名規則相對比較簡單時,則可以基於PowerS ...
本文介紹基於PowerShell語言,對文件夾中全部文件的名稱加以批量替換、修改的方法。
在之前的文章中,我們介紹了基於Python語言,批量修改大量文件的名稱的方法。當時我們修改文件名的需求比較複雜,因此選擇了用Python語言來實現;而在我們的需求重命名規則相對比較簡單時,則可以基於PowerShell語言來實現。本文就介紹基於PowerShell語言,批量修改文件夾中大量文件的名稱的方法。
首先,來看一下我們的需求。現有一個文件夾,如下圖所示,其中我們需要修改全部文件的文件名;修改的規則是,將原有每一個文件的名稱中的欄位CRO
修改為GRA
。
知道了需求,接下來我們即可開始具體操作。首先,在存放有這些需要修改的文件的文件夾中,按下Shift
鍵,同時在空白處點擊滑鼠右鍵;隨後,在彈出的選擇列表中,選擇“在此處打開Powershell視窗”選項,如下圖所示。
接下來,將彈出如下所示的視窗。
隨後,輸入如下所示的代碼。
Get-ChildItem -Filter "*.csv" -File | ForEach-Object {
$newname = $_.Name -replace "CRO", "GRA"
Rename-Item $_.FullName $newname
}
當運行此命令時,它將使用 Get-ChildItem
cmdlet(命令行實用程式)獲取當前目錄中所有具有 .csv
擴展名的文件的列表,並將其傳遞到管道中。然後,管道符號 |
將傳遞的對象傳遞到 ForEach-Object
cmdlet 中,這個 cmdlet 會對每個文件執行指定的操作。
對於每個文件,$newname = $_.Name -replace "CRO", "GRA"
這一行代碼將創建一個新變數 $newname
,其中包含了修改後的文件名,即將所有 CRO
替換為 GRA
。 $_.Name
表示當前文件對象的名稱。
最後,Rename-Item $_.FullName $newname
將文件的完整路徑名($_.FullName
)與新的名稱($newname
)一起傳遞給 Rename-Item
cmdlet,以便將文件重命名為新名稱。
按下回車
鍵,即可運行這一程式。稍等片刻,即可完成代碼的運行;其中,當出現如下所示的字樣,表明程式已經運行完畢(我這裡因為當時按下了兩次回車
鍵,所以這段字樣出現了兩次)。
此時,可以看到文件夾中的文件都已經是重命名之後的了。
這一方法較之上述文章中提及的Python語言修改文件名,可以說相對更方便一些;尤其是在我們的文件重命名需求相對較為簡單的情況下,用這一方法可以說非常快速、方便了。
至此,大功告成。