Mit Powershell recursiv Unterordner und Dateien eine Namenserweiterung setzen?
Hallo Freunde,
wieder einmal bräuchte ich Unterstützung.
Vor kurzem hatte ich das Thema "ordner suchen und umbenennen"
Die Lösung von hier hat prima funktioniert.
Wie sieht es aber aus wenn ich ab einem gewissen Ordner alles was darunter kommt, -recursiv, den Datei Namen um einen Zusatz erweitern möchte? (in dem Fall zb. _0815)
Egal ob Ordner oder Datei ?
Ist Zustand:
zb. Ober Ordner heißt: Franz.
Darunter kommen 2 Unterordner zb. Name1 und Name2
Darunter Ordner zb. mit dem Namen: Wissenswertes
Darunter dann zb pdf Dateien: Geburtsurkunde.pdf
Soll Zustand:
Ober Ordner heißt: Franz_0815
Darunter 2 Unterordner : Name1_0815 und Name_0815
Darunter Ordner mit dem Namen: Wissenswertes_0815
Darunter dann die pdf Dateie(n): Geburtsurkunde_0815.pdf
Ist das möglich?
Vielen Dank
Lg Stefan
wieder einmal bräuchte ich Unterstützung.
Vor kurzem hatte ich das Thema "ordner suchen und umbenennen"
Die Lösung von hier hat prima funktioniert.
Get-ChildItem "G:" -Directory -Recurse -Filter "Fach1" | rename-item -NewName "1.1 Donnerstag" -Force
Wie sieht es aber aus wenn ich ab einem gewissen Ordner alles was darunter kommt, -recursiv, den Datei Namen um einen Zusatz erweitern möchte? (in dem Fall zb. _0815)
Egal ob Ordner oder Datei ?
Ist Zustand:
zb. Ober Ordner heißt: Franz.
Darunter kommen 2 Unterordner zb. Name1 und Name2
Darunter Ordner zb. mit dem Namen: Wissenswertes
Darunter dann zb pdf Dateien: Geburtsurkunde.pdf
Soll Zustand:
Ober Ordner heißt: Franz_0815
Darunter 2 Unterordner : Name1_0815 und Name_0815
Darunter Ordner mit dem Namen: Wissenswertes_0815
Darunter dann die pdf Dateie(n): Geburtsurkunde_0815.pdf
Ist das möglich?
Vielen Dank
Lg Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7938371385
Url: https://administrator.de/contentid/7938371385
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
17 Kommentare
Neuester Kommentar
Moin.
Gruß siddius
$suffix = "_0815"
$folder = "D:\quelle"
Get-ChildItem $folder -Recurse | sort {$_.FullName.length} -Descending | rename-item -NewName {@{$true=$_.Name + $suffix;$false=$_.Basename + $suffix + $_.Extension}[$_.PSIsContainer]} -Force
Sorry ,ist korrigiert, das kam wegen dem Punkt im Namen.
Keine Ursache. You're welcome 🖖
Klar s.o. Berechtigungen kann das natürlich nicht übergehen da musst du schon beim Ausführen mit entsprechenden Berechtigungen hantieren.
Das ist bestimmt nicht ganz so einfach?
Pillepalle...CSV Aufbau
"suffix";"foldername"
"736";"Sascha, Peter"
$folder = "D:\quelle"
$csvpath = "d:\prefixes.csv"
$csv = Import-Csv $csvpath -Delimiter ";"
foreach($itm in Get-ChildItem $folder -Recurse -Directory | sort {$_.FullName.length} -Descending){
$suffix = $csv | ?{$_.foldername -eq $itm.Name} | select -ExpandProperty suffix
if ($suffix){
rename-item $itm.Fullname -NewName "$($itm.Name)_$suffix" -Force
}
}
Wird wohl wieder so'n never ending Beitrag, wenn die Leute immer erst hinterher nachdenken ... 😵💫
-edit- Kleinigkeit korrigiert
Zitat von @buliwyf:
muss hier kein Abschluss rein? Oder die direkte Angabe der csv Datei? namentlich?
muss hier kein Abschluss rein? Oder die direkte Angabe der csv Datei? namentlich?
????
Lies mal meinen Post nochmal, du verwendest noch die alte Variante hatte diese zwischenzeitlich korrigiert ...
Ich lese eigentlich nur die Manuals 😁, der Rest ist üben üben üben, irgendwann schreibst du das nur noch wie eine andere Sprache so runter, das Gerüst bildet sich vorher schon im Kopf.
Wenn man einmal objektorientierte Programmiersprachen gelernt hat, ist jede andere Sprache nur noch wie Vokabeln lernen.
Wenn man einmal objektorientierte Programmiersprachen gelernt hat, ist jede andere Sprache nur noch wie Vokabeln lernen.