Powershell Rename-Item wird Looping bis Dateizeichengrenze erreicht

stimmen
1

Ich habe buchstäblich Tausende von Ordner umbenennen und wollen ein Skript verwenden, die „Alte“ vor dem alten Namen hinzufügt.

Ich habe versucht, dieses Skript

Get-ChildItem | rename-item -NewName { Old+ $_.Name }

Es funktioniert sogar, wenn ich es in einigen kleinen Test Ordner versuchen, mein Hauptordner zu verhindern vermasselt aber unfortunally es funktioniert es aber nicht in meinem Hauptordner. In meinem Hauptordner dieser Befehl in einer Schleife, bis es die Zeichenbegrenzung trifft und stoppt.

Sieht aus wie das:

Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Zimmer.

Online fand ich dies auch, aber es wird das gleiche Ergebnis

get-childitem | % { rename-item $_ Old $_}

Ist es ein Fehler oder bin ich einfach nur dumm?

Veröffentlicht am 19/12/2018 um 14:13
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Um die Ordner in einem bestimmten Pfad zu umbenennen, indem sie mit „alten“ voranstellen, das funktioniert für mich:

$path = "<PATH TO YOUR MAIN FOLDER>"
Get-ChildItem -Path $path -Directory | Rename-Item -NewName { "Old$($_.Name)" }

# For PowerShell version less than 3.0
# Get-ChildItem -Path $path | Where-Object { $_.PSIsContainer} | Rename-Item -NewName { "Old$($_.Name)" }

(indem sie nicht die -Path Parametereinstellabschnitt, die Get-ChildItemverwendet cmdlet die Standardposition , die das aktuelle Verzeichnis .oder $pwd)

Beantwortet am 19/12/2018 um 14:50
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more