Задать вопрос
@imbacode

Powershell как удалить много файлов с удалением через конвейер?

Есть несколько тысяч папок с ром играми в текущей директории, в каждой кроме хорошего дампа рома лежит куча ненужных, собственно написал такую команду, чтобы оставались только файлы заканчивающиеся на [!].nes

Get-ChildItem * -Recurse | Where-Object {$_.name -notmatch ".+[^W\]](\[\!\]\.nes)$"} | ForEach-Object { Remove-Item -LiteralPath $_.Name }


Первая часть (до ForEach-Object) отрабатывает корректно, файлы по шаблону отбираются правильно, но удаляются только файлы в первой по очереди поддиректории, во второй и следующих не удаляются, то есть задача такая - чтобы в каждой поддиректории остались только файлы которые соответствуют шаблону (удалялись те, которые не соответствуют). Пробовал с -match и копированием в другую папку - тоже не работает. Что делаю не так? Помогите пожалуйста.
  • Вопрос задан
  • 388 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия «Белый» хакер
    13 месяцев
    Далее
  • Skillbox
    Специалист по кибербезопасности 2.0/ Этичный хакер
    12 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Специалист по кибербезопасности 2.0
    12 месяцев
    Далее
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
для удаления вместо Name используйте FullName - имя с полным путём
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы