Jak odstranit soubory starší než X dní automaticky pomocí PowerShell

how delete files older than x days automatically using-powershell

Pomocí prostředí PowerShell můžete uvolnit místo a uspořádat věci tak, že odstraníte pouze soubory, které jsou starší než určitý počet dní v libovolné složce. Postupujte takto v systému Windows 10.



V systému Windows 10 je funkce Storage Storage funkce, která automaticky uvolní místo, když máte málo místa. Tato funkce funguje tak, že odstraníte nevyžádané systémové soubory, soubory, které byly ve složce koše nebo ve složce Stahování déle než měsíc, a Obsah OneDrive, který jste používali už jen online.



Ačkoli tato funkce může být užitečná pro řízení úložného prostoru, je omezená a nenabízí možnost ručně přidat různá místa pro monitorování a mazání souborů, které se v posledním měsíci zhruba nezměnily.

Pokud ukládáte soubory, které nejsou důležité, na jiném místě, je možné použít PowerShell a Plánovač úloh ke sledování a čištění souborů ze všech složek, které jsou starší než zadaný počet dní.



V tomhle průvodce, naučíte se kroky k automatickému mazání souborů, které nebyly změněny v posledním měsíci nebo v libovolném počtu dnů, které určíte Windows 10.

Důležité: Vyzkoušejte příkaz pomocí dočasné složky, protože určení nesprávného parametru může způsobit odstranění nesprávných souborů.

Jak používat PowerShell k mazání souborů starších než X dní v systému Windows 10

Pokud máte různé složky se spoustou souborů a chcete je vyčistit odstraněním starších než určitých dní, můžete použít tyto kroky:

  1. otevřeno Start.



  2. Hledat Windows PowerShell, klepněte pravým tlačítkem myši na výsledek a vyberteSpustit jako administrátor volba.

  3. Chcete-li odstranit soubory, které nebyly změněny za posledních 30 dní, zadejte následující příkaz a stiskněte Vstoupit:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Odebrat položku

    Ve výše uvedeném příkazu nezapomeňte změnit 'C: path to folder' zadání cesty ke složce, kterou chcete odstranit soubory, a změnit -30 pro výběr souborů s naposledy upraveným datem.

    PowerShell LastWriteTime command

    Příkaz PowerShell LastWriteTime

Jak používat Plánovač úloh k automatickému mazání souborů starších než X dní v systému Windows 10

Příkaz v předchozích pokynech umožňuje odstranit soubory ve složce, která je starší než 30 dnů, ale musíte otevřít PowerShell a provést příkaz ručně pokaždé, když chcete uvolnit místo.

Vytvoření skriptu PowerShell pomocí programu Poznámkový blok

Chcete-li spustit úlohu pomocí Plánovače úloh, musíte si vytvořit skript PowerShell s těmito kroky:

  1. otevřeno Start.

  2. Hledat poznámkový blok a kliknutím na nejvyšší výsledek otevřete zkušenost.

  3. Zkopírujte a vložte následující příkaz do textového souboru programu Poznámkový blok:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Odebrat položku

    Ve výše uvedeném příkazu nezapomeňte změnit 'C: path to folder' zadání cesty ke složce, kterou chcete odstranit soubory, a změnit -30 pro výběr souborů s naposledy upraveným datem.

  4. Klikněte na ikonu Soubor Jídelní lístek.

  5. Vybrat Uložit jako volba.

  6. Uložte soubor pomocí cleanup.ps1 jméno a přípona.

Vytvoření úlohy pomocí Plánovače úloh

Pokud chcete proces automatizovat, musíte použít Plánovač úloh k vytvoření úlohy, která provede příkaz v zadaných intervalech.

  1. otevřeno Start.

  2. HledatPlánovač úkolů a klikněte na výsledek.

  3. Klepněte pravým tlačítkem myši na ikonu Knihovna plánovače úloh složku.

  4. Klikněte na ikonuNová složka volba.

  5. Zadejte libovolný název složky a klikněte na OK. (Vytváříme novou složku, abychom udrželi úkoly organizované a oddělené od systémových úkolů.)

  6. Klepněte pravým tlačítkem myši na nedávno vytvořenou složku a vyberteVytvořit úlohu volba.

  7. Do pole „Název“ zadejte název úlohy.

  8. Na kartě „Obecné“ v části „Možnosti zabezpečení“ vyberte ikonu Spustit, zda je uživatel přihlášen nebo ne volba. (Toto je možnost, která způsobí, že se příkazové okno neobjeví, když se úloha spustí automaticky.)

    Task Scheduler General tab

    Karta Plánovač úloh Obecné
  9. VyčistěteNeukládejte heslo volba.

  10. Klikněte na kartu „Spouštěče“.

  11. Klikněte na ikonu Nový knoflík.

  12. V rozbalovací nabídce „Zahájit úlohu“ vyberte možnost Podle plánu.

  13. V části „Nastavení“ určete, kdy má být úloha spuštěna (například Čas, Denně, Týdenně, Měsíčně). Ať už vyberete jakoukoli možnost, nezapomeňte zadat Start nastavení na pravé straně.

  14. Klikněte na ikonuOK knoflík.

    Task Scheduler Trigger settings

    Nastavení spouštěče plánovače úloh
  15. Klikněte na ikonu Akce tab.

  16. Klikněte na ikonu Nový Knoflík.

  17. Pomocí rozbalovací nabídky „Akce“ vyberteSpusťte program volba.

  18. Do pole „Program / skript“ zadejte následující příkaz:

    powershell.exe
  19. Do pole „Přidat argumenty“ zadejte následující příkaz a klikněte naOK knoflík.

    -ExecutionPolicy Bypass C:  path  to  cleanup.ps1

    Ve výše uvedeném příkazu nezapomeňte změnit 'C: path to cleanup.ps1' určete cestu ke skriptu PowerShell, který jste dříve vytvořili k odstranění souborů.

    Task Scheduler Action settings

    Nastavení akce plánovače úloh
  20. Klikněte na ikonu Nastavení tab.

  21. Zkontrolujte následující možnosti:

    • Povolit spuštění úlohy na vyžádání.
    • Spusťte úlohu co nejdříve po zmeškání naplánovaného spuštění.
    • Pokud se úloha nezdaří, restartujte vše.
  22. Klikněte na ikonuOK knoflík.

  23. Zadejte své administrativní uživatelské jméno a heslo (je-li k dispozici).

  24. Klikněte na ikonuOK knoflík.

Po dokončení těchto kroků bude skript PowerShell spuštěn podle plánu a odstraní soubory v umístění, které je starší než zadaný počet dní. Nezapomeňte nezměnit název ani přesunout složku do jiného umístění, jinak se úloha nezdaří.

Aktualizace 29. ledna 2018: Tato příručka byla původně zveřejněna v prosinci 2017 a byla aktualizována v lednu 2019.