Mazání souborů starších než n dní. Mazání souborů starších než n dní Mazání souborů Powershell

Jednou z funkcí nejnovějších verzí Windows 10 je schopnost udržovat se 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 z rozevíracího seznamu vyberte požadované časové období, v tomto případě měsíc.

Průzkumník okamžitě seřadí všechny soubory podle zadaného parametru, takže je stačí 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" použijeme konzolovou utilitu 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 se souborem.

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ěnná 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. Nevadí, obvykle se jedná o skrytý databázový soubor zodpovědný za nastavení adresáře. 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ým řádkem, až na to, že je jiná syntaxe. 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 odstranění souborů starších než n dní a přidání úlohy do plánovače Windows Server 2012R2.

1.

2.

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

Skript je vlastně 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 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 aktuálně přihlášeni.

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.




Horní