PowerShell Rename-Item jest zapętlenie aż plik osiągnie limit znaków

głosy
1

Muszę zmienić nazwę dosłownie tysiące folderów i chce użyć skryptu który dodaje „stary” w przedniej części starej nazwy.

Próbowałem tego skryptu

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

Działa to nawet, gdy próbuję go w niektórych małych foldery testowych, aby zapobiec niepożądanym mój główny folder, ale unfortunally to działa tam, ale nie w moim głównym folderze. W moim głównym folderze Komenda ta pętla dopóki nie natrafi limit znaków i zatrzymuje się.

Wygląda tak:

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 znalazłem ten zbyt ale daje ten sam rezultat

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

Jest to błąd albo ja po prostu głupi?

Utwórz 19/12/2018 o 14:13
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

Aby zmienić nazwy folderów w danej ścieżki poprzedzając je ze „starych”, działa to dla mnie:

$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)" }

(nie przez ustawienie parametru path The Get-ChildItemcmdlet wykorzystuje domyślną lokalizację, która jest bieżący katalog .lub $pwd)

Odpowiedział 19/12/2018 o 14:50
źródło użytkownik

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