Olemme jo osoittaneet, kuinka joustava Linux-kuori voi olla , mutta se ei tarkoita, että Windows on enää jäljessä. Tässä on kaksi tekniikkaa, joita voit käyttää riippuen shell-asetuksistasi, cmd: stä tai PowerShellistä.
PowerShell 3
Get-ChildItem –Polku “C: \ Varmuuskopiot” –Recurse | Where-Object CreationTime –lt (Get-Date) .AdDDays (-5) | Poista esine
PowerShell 2
Get-ChildItem –Polku “C: \ Varmuuskopiot” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Poista esine
Selitys
- Ensinnäkin saamme FileInfo- ja DirectoryInfo-objektit Polku C: \ Backups -sovelluksesta.
- FileInfo- ja DirectoryInfo-objektit sisältävät molemmat CreationTime-ominaisuuden, joten voimme suodattaa kokoelman sitä käyttämällä.
- –Lt (vähemmän kuin) -operaattoria käytetään sitten vertaamaan objektien CreationTime-ominaisuutta Get-Date (nykyinen päivämäärä) vähentämään 5 päivää.
- Tällöin meille jää yli 5 päivää sitten luotujen esineiden kokoelma, jonka välitämme Poista-kohteelle.
Pro-vinkki
Jos haluat nähdä, mikä poistetaan, voit käyttää –WhatIf-parametria:
Get-ChildItem –Polku “C: \ Varmuuskopiot” –Recurse | Where-Object CreationTime –lt (Get-Date) .AdDDays (-5) | Poista kohde –WhatIf
Komentokehote
Vaikka suosittelemme käyttämään yhtä PowerShell-menetelmistä, pääset käsittelemättä mitään yksityiskohtia myös komentoriviltä.
tiedostot -p "C: \ Varmuuskopiot" -s -m *. * -d -5 -c "cmd / c del @path"
Pro-vinkki
Jos haluat nähdä poistettavat tiedostot, voit käyttää kaikua.
forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"