3

Используя сценарий, мне удалось непреднамеренно переименовать все в домашней папке пользователя на сервере, чтобы каждый файл в каждой папке (и папки внутри папок) был переименован, чтобы в конце иметь "$". Все, что я пытался сделать, это переименовать домашнюю папку каждого пользователя в foldername $, чтобы скрывать его при поиске общих папок.

Короче говоря, я выяснил, как избавиться от «$» из каждого файла в одной папке, но он не применяется ко всем дочерним папкам:

get-childitem * | foreach { rename-item $_ $_.Name.Replace("$","") }

Кто-нибудь знает, как изменить это, чтобы удалить символы $ в конце каждого файла в каждой папке в папке?

Спасибо!

1 ответ1

2

Пытаться:

Get-ChildItem -Filter "*$" -Recurse | Rename-Item -NewName {$_.Name.Replace("$","") }
  • -Filter намного быстрее, чем где /foreach.
  • -Recurse перебирает подпапки
  • Rename-Item принимает ввод по каналу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .