Hi everyone.
I'll stick my hand straight up and state that I've only dabbled in PowerShell so far.
Purpose of script: Delete all child folders and contents in a directory that are older than 14 days.
Script Details: I found the original script online here, so all credit to the original creator. I then modified as per the comment on that page and then also added in the two lines to stop it deleting any child folders named "webserver" and "installer".
Problem: The script deletes the child folders, leaving any with the excluded names, but then on a second run deletes the parent folder, ie DelTest - this is not desired.
The Script:
$Now = Get-Date
$Days = "14"
$TargetFolder = "C:\Scratch\DelTest"
$LastWrite = $Now.AddDays(-$Days)
$Folders = Get-ChildItem -path $TargetFolder |
Where {$_.psIsContainer -eq $true} |
Where {$_.LastWriteTime -le "$LastWrite"} |
Where {$_.name -ne "webserver"} |
Where {$_.name -ne "installer"}
foreach ($Folder in $Folders)
{
$Folder = $TargetFolder + "\" + $Folder
write-host "Deleting $Folder" -foregroundcolor "Red"
Remove-Item $Folder -recurse -Confirm:$false
}
So, any ideas?