2016-05-02 9 views
0

Ich habe einen Ordner mit Bildern, die ich umbenennen muss.So benennen Sie eine Datei mit dem Verzeichnisnamen mithilfe von Powershell um

Derzeit werden die Dateien sind wie folgt aus:

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 

Und ich brauche sie so zu sein:

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 

Wie kann ich dies bitte in Powershell tun?

+0

Hast Du diesen anderen post-Lösung versucht - how benenne ich eine Reihe von Dateien in der Eingabeaufforderung http://superuser.com/questions/347931/how-do-irename-a-bunch-of-files-in-the-command-prompt – Vonpato

Antwort

0

Sie müssen nur dies tun:

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 

, wenn Ihr Probleme haben Sie diese website überprüfen, gibt Ihnen alles, was Sie brauchen

wissen, ob Sie Skript für alle Dateien machen wollen Um umbenannt zu werden, schlage ich vor, regExp zu verwenden, um den IMG_num zu fangen und ihn mit dem zu ersetzen, was immer Sie wollen.

1

Wenn Sie wissen, dass keine Dateien 4714_X.jpg bereits genannt vorhanden sind, können Sie einfach diese für Schleife mit einem tun:

$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

versuchen diese

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