Domovská » jak » Jak odstranit soubory starší než X dnů v systému Windows

    Jak odstranit soubory starší než X dnů v systému Windows

    Už jsme vám ukázali, jak flexibilní může být Linux shell, ale to neznamená, že systém Windows je dále za sebou. Zde jsou dvě techniky, které můžete použít v závislosti na preferenci shell, cmd nebo PowerShell.

    PowerShell 3

    Get-ChildItem-Cesta "C: \ Backups" -Rekuruje | Kde-Object CreationTime -lt (Get-Date) .AddDays (-5) | Odstranit položku

    PowerShell 2

    Get-ChildItem-Cesta "C: \ Backups" -Rekuruje | Kde-objekt $ _. CreationTime -lt (Get-Date) .AddDays (-5) Odstranit položku

    Vysvětlení

    • Nejprve získáme objekty FileInfo a DirectoryInfo v C: \ Backups.
    • Objekty FileInfo a DirectoryInfo obsahují vlastnost CreationTime, takže tuto kolekci můžeme filtrovat.
    • Operátor -lt (méně než) se pak používá k porovnání vlastností objektu CreationTime s objektem Get-Date (aktuální datum) odečíst 5 dní.
    • To nám pak ponechává sbírku objektů, které byly vytvořeny před více než 5 dny, které předáme k odstranění položky.

    Profesionální tip

    Chcete-li zjistit, co bude odstraněno, můžete použít parametr -WhatIf:

    Get-ChildItem-Cesta "C: \ Backups" -Rekuruje | Kde-Object CreationTime -lt (Get-Date) .AddDays (-5) | Odstranit položku -WhatIf

    Příkazový řádek

    I když vám doporučujeme použít jednu z metod PowerShell, aniž byste se dostali do žádných detailů, můžete to také provést z příkazového řádku.

    forfiles -p "C: \ Zálohování" -s -m *. * -d -5 -c "cmd / c del @ path"

    Profesionální tip

    Chcete-li zjistit, jaké soubory budou odstraněny, můžete použít echo.

    forfiles -p "C: \ Zálohování" -s -m *. * -d -5 -c "cmd / c echo @file"