PowerShell Rename-Item зацикливается, пока размер файла не достигнет предела
Я должен переименовать буквально тысячи папок и хочу использовать скрипт, который добавляет "Старый" перед старым Именем.
Я пробовал этот скрипт
Get-ChildItem | rename-item -NewName { "Old+ $_.Name }
Он даже работает, когда я пробую его в нескольких небольших тестовых папках, чтобы не испортить мою основную папку, но, к сожалению, он работает там, но не в моей главной папке. В моей главной папке эта команда будет зацикливаться, пока не достигнет предела количества символов и не остановится
Выглядит так:
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.
В Интернете я нашел это тоже, но он дает тот же результат
get-childitem | % { rename-item $_ "Old $_"}
Это ошибка или я просто тупой?
1 ответ
Чтобы переименовать папки по заданному пути с префиксом "Старый", это работает для меня:
$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)" }
(не устанавливая параметр -Path, Get-ChildItem
Командлет использует местоположение по умолчанию, которое является текущим каталогом .
или же $pwd
)