我有一系列的文件夾和子文件夾中,以這種方式構成:遞歸重命名文件在所有子文件夾按順序
- 001 /面料/藍/(.jpg文件,順序命名)
- 001 /面料/綠/(.jpg文件,依次命名)
- 002 /光纖/藍/(.jpg文件,依次命名)
- 002 /光纖/綠/(.jpg文件,依次命名)
- 等
文件名有多餘的字符串我想刪除,我想將它們的文件名轉換爲更簡單的順序格式(0.jpg,1.jpg等)。
我試着用幾個不同的PowerShell例子來使這個工作。我有遞歸搜索功能工作,但是當嘗試重命名ForEach-Object
循環中的文件時,我收到有關InvalidOperationException
的錯誤。此外,恐怕我的順序編號並未針對重命名文件的每個文件夾進行「重置」。
$i = 0
Get-ChildItem -Filter "*.jpg" -Recurse | ForEach-Object {
Rename-Item $_ -NewName ('$i.jpg' -f $i++)
}
於是,兩個問題:
- 我怎樣才能修復與
Rename-Item
錯誤? - 如何確保我的變量重置爲每個子文件夾腳本開始重命名文件?
哇,太神奇了!我不知道我可以用這種方式使用Powershell。 Re:重新編號中的前導零;有什麼辦法可以避免你的例子中的前導零?我如何才能將這些短代碼轉換爲當前的$ i var編號? – connormw
將'{0:D4}'更改爲'{0}',您應該完成。 – LotPings
你是一個絕對的救星。非常感謝! – connormw