Ordner umbenennen mit PowerShell
Hallo Leute,
ich habs rum, ich gebe auf. Hab jetzt Stunden damit zugebracht es selber hin zu bekommen und schaffe es einfach nicht ...
Ich brauche Eure Hilfe!
Ich denke es ist nur ein kleiner Einzeiler, aber ich bin zu doof ...
Auf meiner Festplatte befinden sich sehr viele Verzeichnisse nach dem Muster : "Ein Text 01-01-2020"
Also der Text ist oft ein Wort, aber auch manchmal Mehrere ... dann ein Datum im ( falschen ) Format Tag-Monat-Jahr
Das wollte ich "schnell" mal mit nem Skript lösen ...
Der letzte Ansatz war : Get-ChildItem w:\Test -Recurse | Rename-Item -NewName {$_.Name -replace '(.+)(\d{2})-(\d{2})-(\d{4})','($1)\s-($4)-($3)-($2)'} ;
... aber wieder nur ne Fehlermeldung *kotz*
Bitte ... helft mir ...
Also aus "Alpha 12-12-2020" soll "Alpha 2020-12-12" werden oder "Alpha Beta 01-07-2020" zu "Alpha Beta 2020-07-01"
BTW : W:\Test ist nur ein Sandkasten um keinen Schaden anzurichten ... letztendlich soll es auf ein ganzes Drive mit tiefer Ordnerstruktur angewendet werden ...
Andere Verzeichnisse welche diesem Muster nicht entsprechen sollten unangetastet bleiben ...
Ach ja , die letzte Fehlermeldung war dann : Rename-Item : Das angegebene Ziel kann nicht umbenannt werden, da es einen Pfad- oder Gerätenamen darstellt. Hääää ?!?!?
Ich hoffe es erbarmt sich jemand meiner
LG Benjamin
TAUSEND DANK !!!!!!!! DANKE DANKE DANKE : - )))) *vollhappyist*
ich habs rum, ich gebe auf. Hab jetzt Stunden damit zugebracht es selber hin zu bekommen und schaffe es einfach nicht ...
Ich brauche Eure Hilfe!
Ich denke es ist nur ein kleiner Einzeiler, aber ich bin zu doof ...
Auf meiner Festplatte befinden sich sehr viele Verzeichnisse nach dem Muster : "Ein Text 01-01-2020"
Also der Text ist oft ein Wort, aber auch manchmal Mehrere ... dann ein Datum im ( falschen ) Format Tag-Monat-Jahr
Das wollte ich "schnell" mal mit nem Skript lösen ...
Der letzte Ansatz war : Get-ChildItem w:\Test -Recurse | Rename-Item -NewName {$_.Name -replace '(.+)(\d{2})-(\d{2})-(\d{4})','($1)\s-($4)-($3)-($2)'} ;
... aber wieder nur ne Fehlermeldung *kotz*
Bitte ... helft mir ...
Also aus "Alpha 12-12-2020" soll "Alpha 2020-12-12" werden oder "Alpha Beta 01-07-2020" zu "Alpha Beta 2020-07-01"
BTW : W:\Test ist nur ein Sandkasten um keinen Schaden anzurichten ... letztendlich soll es auf ein ganzes Drive mit tiefer Ordnerstruktur angewendet werden ...
Andere Verzeichnisse welche diesem Muster nicht entsprechen sollten unangetastet bleiben ...
Ach ja , die letzte Fehlermeldung war dann : Rename-Item : Das angegebene Ziel kann nicht umbenannt werden, da es einen Pfad- oder Gerätenamen darstellt. Hääää ?!?!?
Ich hoffe es erbarmt sich jemand meiner
LG Benjamin
TAUSEND DANK !!!!!!!! DANKE DANKE DANKE : - )))) *vollhappyist*
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 600861
Url: https://administrator.de/forum/ordner-umbenennen-mit-powershell-600861.html
Ausgedruckt am: 19.06.2025 um 06:06 Uhr
3 Kommentare
Neuester Kommentar
Hi
nah dran
Also so funktioniert das eigentlich schon mal grob
Feintuning mit Leerzeichen zwischen Text und Datum vielelicht noch, aber das bekommst du sicher selbst hin
nah dran
Get-ChildItem -Path $folder -Directory -Recurse | Rename-Item -NewName {$_.Name -replace '(.+)(\d{2})-(\d{2})-(\d{4})','$1 $4-$3-$2' }
Feintuning mit Leerzeichen zwischen Text und Datum vielelicht noch, aber das bekommst du sicher selbst hin
Andere Verzeichnisse welche diesem Muster nicht entsprechen sollten unangetastet bleiben
Dann musst du das vor dem Rename filtern..... -recurse | ? {$_.Name -match "(.+)(\d{2})-(\d{2})-(\d{4})" } | Rename-Item ....

ls 'w:\test' -Dir -Recurse | sort {$_.Fullname.length} -Desc | ?{$_.Name -match '^(.*)(\d{2})-(\d{2})-(\d{4})'} | rename-item -NewName {"$($matches[1])$($matches[4])-$($matches[3])-$($matches[2])"} -verbose