Пытаться:
Get-ChildItem -Filter "*$" -Recurse | Rename-Item -NewName {$_.Name.Replace("$","") }
-Filter
намного быстрее, чем где / foreach.-Recurse
перебирает подпапки- Rename-Item принимает ввод по каналу.
Используя сценарий, мне удалось непреднамеренно переименовать все в домашней папке пользователя на сервере, чтобы каждый файл в каждой папке (и папки внутри папок) был переименован, чтобы в конце иметь "$". Все, что я пытался сделать, это переименовать домашнюю папку каждого пользователя в foldername $, чтобы скрывать его при поиске общих папок.
Короче говоря, я выяснил, как избавиться от «$» из каждого файла в одной папке, но он не применяется ко всем дочерним папкам:
get-childitem * | foreach { rename-item $_ $_.Name.Replace("$","") }
Кто-нибудь знает, как изменить это, чтобы удалить символы $ в конце каждого файла в каждой папке в папке?
Спасибо!
Пытаться:
Get-ChildItem -Filter "*$" -Recurse | Rename-Item -NewName {$_.Name.Replace("$","") }
-Filter
намного быстрее, чем где / foreach.-Recurse
перебирает подпапки