2016-05-02 71 views
0

我有一個包含圖像的文件夾,我需要重新命名。如何使用powershell重新命名帶有目錄名稱的文件

目前該文件是這樣的:

C:\Images\Today\4714\IMG_2342.jpg 
C:\Images\Today\4714\IMG_2343.jpg 
C:\Images\Today\4714\IMG_2344.jpg 
C:\Images\Today\4714\IMG_2345.jpg 

我需要他們這樣的:

C:\Images\Today\4714\4714_1.jpg 
C:\Images\Today\4714\4714_2.jpg 
C:\Images\Today\4714\4714_3.jpg 
C:\Images\Today\4714\4714_4.jpg 

我怎樣才能做到這一點在PowerShell中嗎?

+0

您是否嘗試過這個其他職位的解決方案 - 如何我是否在命令提示符下重命名一堆文件 http://superuser.com/questions/347931/how-do-i-rename-a-bunch-of-files-in-the-command-prompt – Vonpato

回答

0

你只需要做到這一點:

Rename-Item C:\Images\Today\4714\IMG_2342.jpg C:\Images\Today\4714\IMG_2343.jpg C:\Images\Today\4714\4714_1.jpg C:\Images\Today\4714\4714_2.jpg 

如果你有問題,你可以檢查此website,給你所有你需要知道

,如果你想使腳本的所有文件要重新命名,我建議使用regExp來捕捉IMG_num並用你想要的替換它。

1

如果你知道沒有名爲4714_X.jpg文件已經存在,你可以很容易地用做這個for循環:

$Files = Get-ChildItem C:\Images\Today\4714\ *.jpg 
for($i = 0; $i -lt $Files.Count; $i++) 
{ 
    Rename-Item $Files[$i].FullName -NewName "4714_$i.jpg" 
} 
0

試試這個

dir C:\Images\Today\4714\ *.jpg | ? {$_.name -NotMatch "^$($_.directory.name)"} | % {ren $_.fullname $($_.name -replace 'img(?=_)', $_.directory.name)} 
相關問題