2016-06-23 5 views
0

Ich habe dies verwendet umbenennen und Schrittdateinamen mit Powershell:Dateien, hält alte inkrementierten Datei um

$nr = 1 
DIR | % { Rename-Item $_ -NewName ('File{0}.jpg' -f $nr++) } 

Es funktioniert, aber es scheint es die Dateien in der Reihenfolge des Erstellungsdatums umbenennen.

Ich habe 500 Dateien jeweils in Ordnern von je 100 Bildern, alle mit der Reihenfolge 1-100. Die Ergebnisse wären 'picturename'1-500.jpg.

Also muss ich in der Lage sein, zu sagen, was die erste Zahl sein wird:

'screenshot (9).jpg' 
'screenshot (10).jpg' 
'screenshot (11).jpg' 
etc 

Ich muss sie umbenennen:

'picture109.jpg' 
'picture110.jpg' 
'picture111.jpg' 
etc 

Irgendwelche Vorschläge, wie dies tun?

Antwort

0

Warum nicht sort die Ergebnisse von dir vor dem Umbenennen der Dateien, um sicherzustellen, dass Sie die entsprechende Reihenfolge haben?

$nr = 1 
dir | sort Name | % { Rename-Item $_ -NewName ('File{0}.jpg' -f $nr++) } 

Mit PS vollständige Syntax:

$nr = 1 
Get-ChildItem | Sort-Object Name | % { Rename-Item $_ -NewName ('File{0}.jpg' -f $nr++) } 
+0

Vielen Dank für Ihre Antwort! Ich habe es versucht, aber leider hat es nicht funktioniert. Meine ursprüngliche Datei2 wurde immer noch Datei13:/ – geogrow

+0

Ich denke, Ihre Sortierung ist jetzt 'screenshot (1)', 'screenshot (11)', 'screenshot (2)', 'screenshot (21)', ... schwer zu bekämpfen dies ... Sie müssen führende Nullen hinzufügen, um die ursprüngliche Reihenfolge wiederherzustellen (wenn ich das Problem gut verstehe). – sodawillow

+0

Der Browser sortiert sie richtig 1,2,3,4 usw. aber ich kann sehen, dass das Bild namens pic2 auf Bild13 gesprungen ist. Die Reihenfolge, in der die Bilder aufgenommen wurden, ist pic1, pic13, pic2. (Ich musste einige manuell umbenennen, um die Reihenfolge einzuhalten). Hoffnung, die Sinn machen – geogrow

Verwandte Themen