1
我有一個大約60個.jpg圖像文件夾的目錄,每個文件夾大約10張圖片。問題在於,在這些目錄中的每一個目錄中圖像的順序都是正確的,但是名稱是重擊的,一些目錄從000.jpg
開始,其他目錄在002.jpg
。我想要做的是製作一個腳本,它將重新命名這些目錄中的文件,從001.jpg
開始。使用PowerShell重命名目錄中每個文件夾中的每個文件
我有一點成功。以下是在每個目錄中執行的代碼。
$i = 1
Get-ChildItem *.jpg | %{Rename-Item $_ -NewName ('{0:D3}.jpg' -f $i++)}
所以我試圖讓它在根目錄下工作,而不是我執行它60次,每次我必須這樣做。到目前爲止,我失敗了。我試圖從各個部分分割它,但現在我甚至不明白我的代碼應該做什麼。
$dir = Get-ChildItem | ?{ $_.PSIsContainer }
$dir | Foreach-Object{
$i = 1
Get-ChildItem *.jpg | %{Rename-Item $_ -NewName ('{0:D3}.jpg' -f $i++)}}
我跟你說實話,我不太瞭解PowerShell。這就是爲什麼我要求您幫助修復代碼並使其更好地工作。
您需要進入每個文件夾,進行重命名,然後再次返回。 '$ rootDir = Get-Location'在腳本的頂部,然後對於每個循環'set-location $ _'執行Get-ChildItem重新編號然後'set-location $ rootDir'返回原點。 – TessellatingHeckler
您可以使用'Group-Object'如'Get-ChildItem。\ * \ *。jpg |組目錄| ForEach-Object -Begin {$ i = 0} -Process {$ _。Group | %{Rename-Item $ _ -NewName('{0:D3} .jpg'-f $ i ++)}}}'......我很確定這樣做會達到你想要的效果。 – TheMadTechnician