2016-10-25 45 views
-3

我要重命名多個文件JPG文件夾中,但我想保持的唯一事情是五個號碼,並添加一個前綴「NU」 例如:PowerShell的批量重命名文件只保留五個號碼,並添加一個前綴

206_00013.jpg -> nu00013.jgp 
339-67003-primeur.jpg -> nu67003.jpg 
16126._1.jpg -> nu16126.jpg 

的問題是,原來的文件,他們沒有「邏輯」

任何人都可以請點我在這裏向正確的方向?我對Powershell一點都不熟悉。 感謝

+0

你說的文件*沒有「邏輯」 *。我假設你的意思是,文件名中不一定有簡單的模式。他們都至少有5號碼組,只有一個這樣的組? – eddiem

+1

'Get-ChildItem | Rename-Item -NewName {($ _。BaseName -replace'。*(\ d {5})。*','$ 1')+ $ _。Extension} –

回答

2

你可以檢查基本名稱中包含的5個數字的字符串,如果是重命名:

Get-ChildItem *.jpg |ForEach-Object{ 
    if($_.BaseName -match '\d{5}'){ 
     Rename-Item $_.FullName -NewName "nu$($Matches[0]).jpg" 
    } else { 
     Write-Warning "5 digits not found in filename $($_.Name)" 
    } 
} 
相關問題