@imbacode

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

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

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


Первая часть (до ForEach-Object) отрабатывает корректно, файлы по шаблону отбираются правильно, но удаляются только файлы в первой по очереди поддиректории, во второй и следующих не удаляются, то есть задача такая - чтобы в каждой поддиректории остались только файлы которые соответствуют шаблону (удалялись те, которые не соответствуют). Пробовал с -match и копированием в другую папку - тоже не работает. Что делаю не так? Помогите пожалуйста.
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
для удаления вместо Name используйте FullName - имя с полным путём
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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