Versuchen:
Get-ChildItem -Filter "*$" -Recurse | Rename-Item -NewName {$_.Name.Replace("$","") }
-Filter
ist viel schneller als ein wo / foreach.-Recurse
iteriert durch Unterordner- Rename-Item akzeptiert Pipe-Eingaben.
Mit einem Skript konnte ich versehentlich alles in einem Benutzerordner auf dem Server umbenennen - so dass jede Datei in jedem Ordner (und in Ordnern in den Ordnern) umbenannt wurde, um am Ende ein "$" zu erhalten. Alles, was ich zu tun versuchte, war, den Basisordner jedes Benutzers in Ordnernamen $ umzubenennen, damit er bei der Suche nach freigegebenen Ordnern nicht angezeigt wird.
Um es kurz zu machen: Ich habe herausgefunden, wie man das "$" aus jeder Datei in einem Ordner entfernt, aber es gilt nicht für alle untergeordneten Ordner:
get-childitem * | foreach { rename-item $_ $_.Name.Replace("$","") }
Kann jemand dies ändern, um die $ -Symbole am Ende jeder Datei in jedem Ordner unter einem Ordner zu entfernen?
Vielen Dank!
Versuchen:
Get-ChildItem -Filter "*$" -Recurse | Rename-Item -NewName {$_.Name.Replace("$","") }
-Filter
ist viel schneller als ein wo / foreach.-Recurse
iteriert durch Unterordner