У меня есть каталог, в котором мне нужно удалить все файлы и папки, срок действия которых истек в течение 30 дней, но сохранить что-либо в подпапках C:\TEST\A
и C:\TEST\B
Вот структура папок:
|-C:\TEST
\-C:\TEST\A
\-C:\TEST\A\A1
\-C:\TEST\A\A2.txt
\-C:\TEST\B
\-C:\TEST\B\B1
\-C:\TEST\B\B2.txt
\-C:\TEST\C
\-C:\TEST\C\C1
\-C:\TEST\C\C2.txt
\-C:\TEST\D.doc
\-C:\TEST\E.txt
Это то, что у меня есть сейчас, я пытаюсь "исключить" и "не нравится", но все не работает:
$before=(Get-Date).AddDays(-30)
$exfolder=('C:\TEST\A*' , 'C:\TEST\B*')
Get-ChildItem -path 'C:\TEST' -Recurse |
Where-Object {($_.LastWriteTime -lt $before ) -and ( $_.FullName -notlike $exfolder)} |
Remove-Item -force -Recurse
Get-ChildItem -path 'C:\TEST' -Recurse -Exclude $exfolder |
Where-Object { $_.LastWriteTime -lt $before } |
Remove-Item -force -Recurse