Ich bin neu bei PowerShell und weiß nicht so viel darüber.Powershell löschen Ordner, wenn alle Dateien älter als x Tage
Ich suche nach einer Möglichkeit, einen Ordner und alle Unterordner zu löschen, wenn alle Dateien älter als x Tage sind. Ich habe einen Code, um alle Dateien in einem Ordner und allen Unterordnern zu löschen, aber ich weiß nicht, wie ich das richtig ändern kann.
$Now = Get-Date
$Days = "30"
$TargetFolder = "C:\temp"
$Extension = "*.*"
$LastWrite = $Now.AddDays(-$Days)
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {($_.CreationTime -le "$LastWrite") -and ($_.LastWriteTime -le "$LastWrite")}
foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Deleting File $File" -ForegroundColor "Red"
Remove-Item $Location.FullName | out-Null
}
else
{
Write-Host "No more files to delete!" -foregroundcolor "Green"
}
}
vor 30 Tagen erstellt oder geändert? – 4c74356b41
Beide müssen respektiert werden, denn wenn Sie eine Datei im Jahr 2015 heruntergeladen haben, ist das ModifieDate 2015 und Sie haben es am 22/22/02 nach "C: \ temp" verschoben als das CreationDate ist, dass ich es nicht entfernen will. –
Kopieren einer Datei ändert nicht das Erstellungsdatum oder die Schreibzeit, nicht sicher, wie Sie das erreichen möchten – 4c74356b41