Есть несколько тысяч папок с ром играми в текущей директории, в каждой кроме хорошего дампа рома лежит куча ненужных, собственно написал такую команду, чтобы оставались только файлы заканчивающиеся на [!].nes
Get-ChildItem * -Recurse | Where-Object {$_.name -notmatch ".+[^W\]](\[\!\]\.nes)$"} | ForEach-Object { Remove-Item -LiteralPath $_.Name }
Первая часть (до ForEach-Object) отрабатывает корректно, файлы по шаблону отбираются правильно, но удаляются только файлы в первой по очереди поддиректории, во второй и следующих не удаляются, то есть задача такая - чтобы в каждой поддиректории остались только файлы которые соответствуют шаблону (удалялись те, которые не соответствуют). Пробовал с -match и копированием в другую папку - тоже не работает. Что делаю не так? Помогите пожалуйста.