Mit Powershell Dateien umbenennen
Ich hatte vor kurzem die interessante Aufgabe, Dateien umzubenennen, deren Namen folgenden Aufbau hatten: texttexttext_ttmmjjjj.xyz
Diese Namen sollten zu jjjjmmtt_texttexttext.xyz werden. Gelöste habe ich die Aufgabe mit zwei kurzen Powershell-Skripten
# Finde alle Dateien im aktuellen Verzeichnis, die am Ende des Dateinamens acht Ziffern haben ls | % { if ($_.name -match "\d{8}\.\w{3}$") { # Ersetze diesen Dateinamen durch das Datum rni $_.fullname $_.name.replace($_.name,$_.name.substring($_.name.length-12,8) # verbunden mit dem Dateinamen ohne Datum + "_" + $_.name.substring(0,$_.name.length-13) # und der Dateiendung. + $_.name.substring($_.name.length-4,4)) }} |
Der zweite Teil, die Umsortierung des Datum war dann auch schnell erledigt:
# Suche alle Dateien, die mit acht Ziffern anfangen ls | % { if ($_.name -match "^\d{8}.*") { # Benenne die Datei um, erst das Jahr, dann der Monat # dann der Tag rni $_.fullname ($_.name.substring(4,4) + $_.name.substring(3,2) + $_.name.substring(0,2) + "_" + $_.name.replace($_.name,$_.name.substring(9,$_.name.length-9))) }} |