Homepage » hogyan kell » A fájlok régebbi törlése, mint az X napok a Windows rendszeren

    A fájlok régebbi törlése, mint az X napok a Windows rendszeren

    Már megmutattuk, hogy mennyire rugalmas lehet a Linux burkolat, de ez nem jelenti azt, hogy a Windows tovább van. Itt két technikát használhatsz a shell preferenciától, a cmd vagy a PowerShell függvényében.

    PowerShell 3

    Get-ChildItem -Path “C: Backups” -Recurse | Hol-Object CreationTime -lt (Get-Date) .AddDays (-5) | Elem eltávolítása

    PowerShell 2

    Get-ChildItem -Path “C: Backups” -Recurse | Hol-objektum $ _. CreationTime -lt (Get-Date) .AddDays (-5) | Elem eltávolítása

    Magyarázat

    • Először a FileInfo és a DirectoryInfo objektumokat a C útvonalon kapjuk: Backups.
    • Mind a FileInfo, mind a DirectoryInfo objektumok tartalmazzák a CreationTime tulajdonságot, így ezt a gyűjteményt szűrhetjük.
    • A -lt (kevesebb) operátort ezután az objektumok CreationTime tulajdonságának összehasonlítására használják a Get-Date (az aktuális dátum) kivonásával 5 nap.
    • Ez aztán egy olyan objektumgyűjteményt hagy el bennünket, amelyek több mint 5 nappal ezelőtt készültek, és amelyeket az Eltávolítás-elemhez továbbítunk.

    Profi tipp

    Ha meg szeretné tekinteni, hogy mi lesz eltávolítva, használhatja a -WhatIf paramétert:

    Get-ChildItem -Path “C: Backups” -Recurse | Hol-Object CreationTime -lt (Get-Date) .AddDays (-5) | Elem eltávolítása -Miért

    Parancssor

    Bár javasoljuk, hogy használja a PowerShell módszerek egyikét, anélkül, hogy belépnénk a komoly részletekbe, amit a parancssorból is elvégezhet.

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

    Profi tipp

    Ha meg szeretné tekinteni, hogy mely fájlokat kívánja törölni, használhatja a visszhangot.

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