Ранее я задавал вопрос о том, как пройти через структуру каталогов и сохранить 7 самых последних копий файла в каждом подкаталоге. Сценарий ниже - это то, что было создано, и оно прекрасно работает, но только в 1 каталоге. Мне нужно пройти через весь каталог и сохранить 7 новейших файлов в каждом подкаталоге.
Для тестирования я создал структуру каталогов в C: \ Customer с подкаталогами Test1, Test2, Test3. Затем я создал 12 тестовых файлов в каждом каталоге, включая C: \ Customer верхнего уровня. Файлы назывались Test1_Report_.txt - Test12. Когда я запустил скрипт ниже, он удалил все файлы верхнего уровня, Test1, Test2 и сохранил 7 самых последних копий в Test3. Что мне здесь не хватает? Любая помощь будет принята с благодарностью.
$path = "C:\Customer"
$files = Get-ChildItem -Path $path -Recurse | Where-Object {-not $_.PsIsContainer} |where{$_.name -like "*_Report_*"}
$keep = 7
if ($files.Count -gt $keep) {
$files |Sort-Object CreationTime |Select-Object -First ($files.Count - $keep)| Remove-Item -Force
}