PowerShell 3
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item
PowerShell 2
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Remove-Item
Selgitus
- Kõigepealt saame FileInfo ja DirectoryInfo objektid Path C: Backups.
- Nii FileInfo kui ka DirectoryInfo objektid sisaldavad CreationTime'i omadust, nii et me saaksime selle abil kogusid filtreerida.
- Seejärel kasutatakse -lt (vähem kui) operaatorit objektide CreationTime võrdlemiseks Get-Dataga (praegune kuupäev) lahutama 5 päeva.
- Seejärel jätab meid objektide kogum, mis loodi rohkem kui 5 päeva tagasi ja mille me edasi eemaldame.
Pro Tip
Et näha, mis eemaldatakse, võite kasutada parameetrit -WhatIf:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf
Käsurida
Kuigi me soovitame teil kasutada ühte PowerShelli meetodeid, ilma et saaksite ühtegi kõlbmatuid andmeid, saate seda teha ka käsurealt.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
Pro Tip
Et näha, milliseid faile kustutatakse, saate kasutada kaja.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'