Get-ChildItem –Path “H:\backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-4)} | Remove-Item
I have this Script that can delete files older than 4 days. However I want to control that it should delete X number of files+folder 4 days old and also want to get the logs so that I see it later. Below is the script, Is it fine?
$Now = Get-Date
$Days = "4"
$TargetFolder = "H:\backups"
$LastWrite = $Now.AddDays(-$days)
$Files = get-childitem $TargetFolder -include *.* -recurse -force
Where {$_.CreationTime -le "$LastWrite"}
foreach ($i in Get-ChildItem $TargetFolder -recurse)
{
if ($i.CreationTime -lt ($(Get-Date).AddDays(-10)))
{
Remove-Item $Files -recurse -force
}
}
Write-Output $Files >> c:\delete.log