
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
Selitys
- Ensinnäkin saamme FileInfo- ja DirectoryInfo-objekteja polulla C: Backups.
- FileInfo- ja DirectoryInfo-objektit sisältävät sekä CreationTime-ominaisuuden, joten voimme suodattaa kokoelman käyttämällä sitä.
- -Lt (alle) operaattoria käytetään vertailemaan CreationTime-ominaisuuden kohteita Get-Date (nykyinen päivämäärä) vähentää 5 päivää.
- Tämä jättää meille joukon esineitä, jotka luotiin yli 5 päivää sitten, ja siirrymme Poista-kohtaan.
Pro Vinkki
Jos haluat nähdä, mitä poistetaan, voit käyttää -WhatIf-parametria:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf

Komentokehote
Suosittelemme, että käytät jotain PowerShell-menetelmää, mutta et pääse käsiksi komentokehotteeseen.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
Pro Vinkki
Jos haluat nähdä, mitkä tiedostot on poistettava, voit käyttää echoa.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'
