Kotisivu » miten » Tiedostojen poistaminen vanhemmista kuin X-päivät Windowsissa

    Tiedostojen poistaminen vanhemmista kuin X-päivät Windowsissa

    Olemme jo osoittaneet, kuinka joustava Linux-kuori voi olla, mutta se ei tarkoita sitä, että Windows on jäljessä. Tässä on kaksi tekniikkaa, joita voit käyttää riippuen kuoriasetuksesta, cmd tai PowerShell.

    PowerShell 3

    Get-ChildItem -Path “C: Backups” -Recurse | Missä-Objektin luominenaika -lt (Päivämäärä) .Lisäpäiviä (-5) | Poista esine

    PowerShell 2

    Get-ChildItem -Path “C: Backups” -Recurse | Missä-objekti $ _. CreationTime -lt (Get-Date) .Lisäpäiviä (-5) | Poista esine

    Selitys

    • Ensinnäkin saamme FileInfo- ja DirectoryInfo-objektit P: ssä C: Backups.
    • FileInfo ja DirectoryInfo -objektit sisältävät molemmat CreationTime-ominaisuuden, joten voimme suodattaa kokoelman käyttämällä sitä.
    • -Lt (vähemmän kuin) operaattoria käytetään sitten vertaamaan objektin CreationTime-ominaisuutta Get-Date (nykyinen päivämäärä) vähentämällä 5 päivää.
    • Tämän jälkeen jätämme meidät kokoelma esineitä, jotka on luotu yli 5 päivää sitten ja jotka siirrämme Poista-kohtaan.

    Pro Vihje

    Jos haluat nähdä, mitä poistetaan, voit käyttää -WhatIf-parametria:

    Get-ChildItem -Path “C: Backups” -Recurse | Missä-Objektin luominenaika -lt (Päivämäärä) .Lisäpäiviä (-5) | Poista-kohde -Mitäpä

    Komentokehote

    Suosittelemme, että käytät jotakin PowerShell-menetelmää, mutta et pääse mihinkään teräviin tietoihin, joita voit myös tehdä komentoriviltä.

    forfiles -p "C: Backups" -s -m *. * -d -5 -c "cmd / c del @path"

    Pro Vihje

    Jos haluat nähdä, mitkä tiedostot poistetaan, voit käyttää echoa.

    forfiles -p "C: Backups" -s -m *. * -d -5 -c "cmd / c echo @file"