Posso sugerir uma abordagem ligeiramente diferente? Eu excluiria todos os arquivos com mais de 7 dias antes e, em uma segunda etapa, excluiria as pastas empty . Algo parecido com isto:
$deleted = @()
Get-ChildItem $dump_path -Recurse | Where-Object {
-not $_.PSIsContainer -and $_.CreationTime -lt $del_date
} | ForEach-Object {
$deleted += $_.FullName
$_
} | Remove-Item
function Remove-EmptyFolders($folder) {
Get-ChildItem $folder | Where-Object { $_.PSIsContainer } | ForEach-Object {
$path = $_.FullName
Remove-Emptyfolders $path
if ( @(Get-ChildItem $path -Recurse | Where-Object { -not $_.PSIsContainer}).Length -eq 0 ) {
$deleted += $path
Remove-Item $path -Recurse -Force
}
}
}
Remove-EmptyFolders $dump_path
$html = $deleted | Select-Object @{Name='Path';Expression={$_}} | ConvertTo-Html