Ordner, bzw. Dateien automatisch umbenenen - Namensteile tauschen
Hallo
Ich würde mich über etwas Hilfe freuen.
Ich habe viele Ordner, die ich umbenennen möchte.
Beispiele für einen Ordnernamen:
Max Mustermann
Anton Ackermann
Tim Thaler-Kleinfeld
Ich möchte aber nun gerne den Nachnamen zuerst haben.
Daher die Frage, wie ich die Teile des Ordnernamens in Variablen speichern kann.
Bisher habe ich versucht den Namen auslesen (z.B. mit Get-Childitem in Powershell).
Dann scheiterte es aber an der Flexibilität, den String passend zu zerlegen.
Das Trennzeichen müßte angegeben werden können.
Wenn man dann den Vor- bzw. Nachnamen jeweils in eine Variable gespeichert hat, müßte nun der Ordner damit neu benamt werden.
Schön wäre auch, wenn es nicht nur mit Ordnern funktioniert, sondern auch mit Dateien.
Schöne Grüße und vielen Dank im voraus
Ich würde mich über etwas Hilfe freuen.
Ich habe viele Ordner, die ich umbenennen möchte.
Beispiele für einen Ordnernamen:
Max Mustermann
Anton Ackermann
Tim Thaler-Kleinfeld
Ich möchte aber nun gerne den Nachnamen zuerst haben.
Daher die Frage, wie ich die Teile des Ordnernamens in Variablen speichern kann.
Bisher habe ich versucht den Namen auslesen (z.B. mit Get-Childitem in Powershell).
Dann scheiterte es aber an der Flexibilität, den String passend zu zerlegen.
Das Trennzeichen müßte angegeben werden können.
Wenn man dann den Vor- bzw. Nachnamen jeweils in eine Variable gespeichert hat, müßte nun der Ordner damit neu benamt werden.
Schön wäre auch, wenn es nicht nur mit Ordnern funktioniert, sondern auch mit Dateien.
Schöne Grüße und vielen Dank im voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 292814
Url: https://administrator.de/forum/ordner-bzw-dateien-automatisch-umbenenen-namensteile-tauschen-292814.html
Ausgedruckt am: 20.04.2025 um 08:04 Uhr
6 Kommentare
Neuester Kommentar

Für Ordner
Für Dateien
Gruß jodel32
@Biber "Umbenenen" die 1000enste
gci 'C:\root' | ?{$_.PSIsContainer} | rename-item -NewName {$_.Name -replace '(.*) (.*)','$2 $1'} -Force
Für Dateien
gci 'C:\root' | ?{!$_.PSIsContainer} | rename-item -NewName {"$($_.Basename -replace '(.*) (.*)','$2 $1')$($_.Extension)"} -Force
Gruß jodel32
@Biber "Umbenenen" die 1000enste

Das sind Regular Expressions dort haben viele Zeichen andere Bedeutungen
, der einfache Punkt zum Beispiel steht für jedes beliebige Zeichen, man muss sie also mit einem Backslash escapen, wenn du das Trennzeichen in einer Variable definieren willst geht das so
$trenner = [regex]::Escape(".")
gci 'C:\root' | ?{$_.PSIsContainer} | rename-item -NewName {$_.Name -replace "(.*)\s?($trenner)\s?(.*)",'$3$2$1'} -Force
[OT]
Moin jodel32,
Ja, hatte ich gelesen.
Aber ich dachte, ich realisiere vielleicht einen neuen 64-Bit-rgc mit Powershell.
Kann auch nicht länger dauern als die Umsetzung der paar Features auf Franks ToDo-Rolle.
Grüße
Biber
[/OT]
Moin jodel32,
Ja, hatte ich gelesen.
Aber ich dachte, ich realisiere vielleicht einen neuen 64-Bit-rgc mit Powershell.
Kann auch nicht länger dauern als die Umsetzung der paar Features auf Franks ToDo-Rolle.
Grüße
Biber
[/OT]