Mazání souborů starších než n dní. Mazání souborů starších než n dní Powershell odstraňuje složky starší než určité datum

Jedna z funkcí nejnovější verze Windows 10 se dokáže udržovat v čistotě automatickým mazáním souborů, které se po určité době staly nepotřebnými. V dřívějších verzích systému, ve kterých tato funkce ještě nebyla implementována, můžete použít příkazový řádek, řídicí panel PowerShell a dokonce Dirigent, i když postup čištění pomocí posledně jmenovaného není tak pohodlný.

Zvažme všechny tři možnosti.

Odstraňte staré soubory pomocí Průzkumníka

Průzkumná páska Windows 10 A 8.1 obsahuje nástroj, který umožňuje třídit všechny soubory v adresáři podle data úpravy, typu, velikosti a některých dalších vlastností. Řekněme, že chcete smazat soubory starší než jeden měsíc. Přejděte do složky se soubory v ní uloženými a stiskněte na klávesnici F3. V takovém případě budete ve feedu Průzkumníka přepnuti do sekce vyhledávání.

Klikněte na ikonu "Datum změny" a vyberte požadované časové období z rozevíracího seznamu, v tomto případě Měsíc.

Průzkumník okamžitě seřadí všechny soubory podle zadaného parametru, stačí je tedy pouze vybrat myší a odeslat do koše. Metoda je jednoduchá, ale ne příliš pohodlná, protože vše musí být provedeno ručně. Existuje mnohem efektivnější metoda pro mazání starých souborů a nyní se na ni podíváme.

Smazání starých souborů na příkazovém řádku

Chcete-li odstranit soubory z "vypršelo" budeme používat konzolový nástroj ForFiles.exe, zodpovědný za výběr objektu a provedení zadané akce s ním. Nástroj podporuje několik parametrů, jmenovitě:

/S- umožňuje provádět rekurzivní vyhledávání.
/P- označuje cestu k sekci nebo adresáři.
/D- udává počet dní od poslední úpravy.
/C- určuje příkaz akce na souboru.

V týmu ForFiles Můžete také zadat proměnné, které vracejí různé hodnoty, např. @soubor, který vrací název souboru a je to, co budeme používat. Například smažte všechny soubory starší než 10 dní ve složce "Snímky", který se nachází v kořenovém adresáři systémového disku.

Otevřete příkazový řádek a spusťte následující příkaz:

ForFiles /p "C:\Pictures" /s /d -10 /c "cmd /c del @file"

ForFiles / p "C:\Pictures" / s / d - 10 / c "cmd /c del @file"

Příklad používá tři klíče /str (cesta) , /s (rekurze) A /d (počet dní) a také příkaz delete del a proměnnou názvu souboru @soubor. Jakmile stiskneme enter, ForFiles projde celý obsah složky "Snímky", včetně podadresářů A smaže všechny soubory starší než 10 dní .

Jak vidíte, tato metoda je efektivnější a rychlejší a navíc ji můžete automatizovat tím, že pro ni vytvoříte úkoly v Plánovači.

Poznámka: Po provedení příkazu může konzola zobrazit zprávu, že určitý soubor nelze nalézt. Nebojte se, obvykle to tak je skrytý soubor databáze zodpovědná za nastavení katalogu. Pokud není ve složce (a teoreticky by mělo být),ForFiles na to uživatele upozorní.

Odstranění starých souborů pomocí PowerShellu

Zde je téměř vše stejné jako v příkladu s příkazový řádek, kromě toho, že syntaxe je odlišná. Předpokládejme, že se nezměnila ani cesta ke složce se soubory, ani naše cíle. Spusťte konzolu PowerShell a provést příkaz, jako je tento.

Někdy je potřeba smazat soubory starší než n dní. Například Zálohy. Můžete to udělat ručně, seřadit je podle data a odstranit, nebo můžete použít skript. V tomto příkladu se podíváme na skript pro mazání souborů starších než n dní a přidáme úkol Plánovač Windows Server 2012R2.

1.

2.

Skript pro mazání souborů starších než n dní

Skript je ve skutečnosti velmi jednoduchý, je vytvořen v PowerShellu a vypadá takto:

FORFILES /p F:\backup\ /s /m *.* /d -30 /c "CMD /c del /Q @FILE"

Kde:
F:\záloha\— cesta, ve které budeme hledat soubory k odstranění
*.* — název souboru (maska)
/d -30— starší než kolik dní potřebujeme k odstranění souborů.

Takto to vypadá v PowerShellu:

Zbývá to dokončit a je to.

Vytvoření úlohy v plánovači úloh

Všechno je v pořádku, máme scénář. Můžeme to udělat ručně, když potřebujeme vyčistit naše zálohy. Ale proč to dělat ručně? Dáme pokyn plánovači, aby spustil náš skript a zbavil se rutinní práce sami.

Takže, co k tomu potřebujeme?

Nejprve pojďme na " Start -> Ovládací panely -> Nástroje pro správu"a běž tam" Plánovač úkolů«.

Vyberte položku " Vytvořte úkol«:

Na " Jsou běžné» nastavte název úlohy, její popis a uživatele, od kterého se bude spouštět. Ve výchozím nastavení zde bude uživatel, pod kterým jste přihlášeni. tento moment do systému.

program nebo skript

a zadejte cestu k PowerShellu:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

A v argumentu uvedeme cestu k našemu skriptu, který jsme vytvořili dříve:

Soubor "c:\script\ochistkaf.ps1"

Klikněte na " OK" ještě jednou " OK»

To je vše, náš úkol je vytvořen. Nezbývá než počkat, až bude naše naplánovaná akce dokončena a zkontrolovat, zda bylo vše správně nakonfigurováno.