Nur Unterordner umbenennen?
Hallo Zusammen,
kann ich in powershelll nur Unterordner umbennen?
zb. Pfad: D:\test\Ordner_1233\Akte1_1233
D:\test\Ordner_1233\Akte2_1233
Ergebnis: D:\test\Ordner_1233\Akte1
D:\test\Ordner_1233\Akte2
Da es sich hier ab D:\test\ um einige hundert Ordner handelt wäre es per Hand mehr als anstrengend.
Das Einzige wo man anfassen kann wäre bei dem String "Akte1" und "Akte2".
Suche in den Unterordnern nach den Ordnern Akte1 und Akte2, rename...... ?
Wäre doch was für Siddius
Vielen Dank.
LG Stefan
kann ich in powershelll nur Unterordner umbennen?
zb. Pfad: D:\test\Ordner_1233\Akte1_1233
D:\test\Ordner_1233\Akte2_1233
Ergebnis: D:\test\Ordner_1233\Akte1
D:\test\Ordner_1233\Akte2
Da es sich hier ab D:\test\ um einige hundert Ordner handelt wäre es per Hand mehr als anstrengend.
Das Einzige wo man anfassen kann wäre bei dem String "Akte1" und "Akte2".
Suche in den Unterordnern nach den Ordnern Akte1 und Akte2, rename...... ?
Wäre doch was für Siddius
Vielen Dank.
LG Stefan
Please also mark the comments that contributed to the solution of the article
Content-ID: 1520801138
Url: https://administrator.de/contentid/1520801138
Printed on: September 7, 2024 at 12:09 o'clock
14 Comments
Latest comment
Wäre doch was für Siddius face-wink
lol.Es scheint, dass der Fehler "Quell- und Ziel-Pfad dürfen nicht identisch sein" darauf hinweist, dass du versuchst, den Ordner in denselben Ordner umzubenennen, in dem er sich bereits befindet. Das kann in PowerShell zu einem Fehler führen.
Hier ist eine korrigierte Version deines Befehls, um dies zu vermeiden:
Get-ChildItem "D:\test" -Directory -Recurse -Filter "Akte 1*" | ForEach-Object { Rename-Item $_.FullName -NewName "Akte 1" }
Änderungen im Vergleich zu deinem ursprünglichen Befehl:
Verwendung von ForEach-Object um jeden gefundenen Ordner einzeln zu bearbeiten.
Der Rename-Item-Befehl verwendet $_ als Variable für das aktuelle Objekt (den gefundenen Ordner) und verwendet $_.FullName als Quellpfad.
Dieser Befehl sollte die Ordner mit dem Präfix "Akte 1" in "Akte 1" umbenennen, ohne dass der Fehler auftritt. Stelle sicher, dass du die Berechtigungen zum Umbenennen der Ordner hast und dass kein anderer Prozess auf die Ordner zugreift.
Moin.
What the fuck 🤣
https://tio.run/##fc1NCsIwEIbhvacYilAtpPWnN1AQN15AJKR2IKH5KcloEfXssS1dFn ...
All the best
pjumper
What the fuck 🤣
Get-ChildItem "D:\test\*\akte*_*" -Directory | rename-item -newname {$_.Name.split('_')[0]} -verbose
All the best
pjumper
Hi.
wenn [Test] statisch ist:
Mach aber vorher Backups deiner Files, bevor Du testest.
Gruß
wenn [Test] statisch ist:
# Pfad zur Datei
$dateipfad = "D:\[Test] Mustermann, Erich\[Test] Akte 1\NormalerOrdnername\"
# Neuer Dateiname ohne [Test]
$neuerDateiname = $dateipfad -replace '\[Test\]', ''
# Umbenennen der Datei
Rename-Item -Path $dateipfad -NewName $neuerDateiname -Force
Mach aber vorher Backups deiner Files, bevor Du testest.
Gruß
Get-ChildItem "D:\" -Directory -Recurse | ?{$_.Name -like '*[Test]*'} | sort {$_.FullName.length} -Descending | rename-item -newname {$_.Name -replace '\[Test\]\s*'} -verbose
Mach aber vorher Backups deiner Files, bevor Du testest.
Dafür gibt es den Parameter -whatif, damit lässt es sich auch gefahrlos testen 😉.Dafür gibt es den Parameter -whatif, damitblässt sich gefahrlos testen.
Vergessen, Danke.Wo käme hier ForEach-Object hin? Sonst funktioniert es tadelos face-smile
Versuch Dich etwas daran. So lernst Du auch aktiv dazu. Ich versuch's schon face-wink
Try harder or ask ChatGPT :D
Foreach ist hier überflüssig! Works out of the box mit allen Ordnern die [Test] enthalten ...
RTFM ...!
RTFM ...!