Početna » kako da » Kako izbrisati datoteke starije od X dana na Windowsima

    Kako izbrisati datoteke starije od X dana na Windowsima

    Već smo vam pokazali koliko je fleksibilna Linux ljuska, ali to ne znači da je Windows još iza. Evo dvije tehnike koje možete koristiti ovisno o vašim ljuljkama, cmd ili PowerShell.

    PowerShell 3

    Get-ChildItem -Path “C: Sigurnosne kopije” -Recurse | Gdje-Objekt CreationTime-lt (Get-Datum) .AddDays (-5) | Uklanjanje stavke za

    PowerShell 2

    Get-ChildItem -Path “C: Sigurnosne kopije” -Recurse | Gdje-objekt $ _. Vrijeme stvaranja-lt (Get-Date) .AddDays (-5) | Uklanjanje stavke za

    Obrazloženje

    • Prvo dobivamo FileInfo i DirectoryInfo objekte u Path C: Backupima.
    • Objekti FileInfo i DirectoryInfo sadrže svojstvo CreationTime, tako da možemo filtrirati kolekciju koristeći to.
    • Operator -lt (manje od) se zatim koristi za usporedbu CreationTime svojstva objekata s Get-Date (tekući datum) oduzima 5 dana.
    • To nam onda ostavlja zbirku objekata koji su stvoreni prije više od 5 dana, a koje prosljeđujemo na Remove-Item.

    Pro Savjet

    Da biste vidjeli što će se ukloniti, možete upotrijebiti parametar -WhatIf:

    Get-ChildItem -Path “C: Sigurnosne kopije” -Recurse | Gdje-Objekt CreationTime-lt (Get-Datum) .AddDays (-5) | Remove-Item -What If

    Naredbeni redak

    Iako vam preporučujemo da koristite jednu od metoda PowerShell, a da ne ulazite ni u jednu od istinitih detalja, možete to učiniti iz naredbenog retka.

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

    Pro Savjet

    Da biste vidjeli koje datoteke će se izbrisati možete koristiti echo.

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