Mazání souborů starších než n dní. Odstraňte soubory starší než n dní Powershell odstraní složky starší než určité datum

Jedna z funkcí nejnovější verze 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ě není implementována, můžete k odstranění starých souborů použít příkazový řádek, řídicí panel PowerShell a dokonce Dirigent i když postup čištění u druhého není tak pohodlný.

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

Smazání starých souborů pomocí Průzkumníka souborů

Pás karet Explorer 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. Tím se přepnete do sekce vyhledávání na pásu karet Průzkumníka.

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

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

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

Chcete-li odstranit soubory z "Platnost vypršela" budeme používat konzolový nástroj ForFiles.exe, která je 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- nastaví příkaz, který bude pracovat se souborem.

V týmu ForFiles můžete také zadat proměnné, které vracejí různé hodnoty, např. @soubor který vrátí název souboru a který budeme používat. Například smažte všechny soubory starší než 10 dní ve složce "obrázky" ležící v kořenovém adresáři systémového disku.

Otevřete příkazový řádek a proveď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 (způsob) , / s (rekurze) a / d (počet dní) stejně jako příkaz delete del a proměnnou názvu souboru @soubor... Jakmile stiskneme enter, ForFiles projde celým obsahem složky "obrázky", včetně podadresářů a smaže všechny soubory starší než 10 dní .

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

Poznámka: po provedení příkazu se může v konzoli objevit zpráva, že nelze nalézt určitý soubor. Nevšímejte si toho, většinou to tak je skrytý soubor databáze, zodpovědná za nastavení adresáře. Pokud není ve složce (a být, teoreticky, měl), 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 pro nás nezměnila ani cesta ke složce se soubory, ani cíle. Spusťte konzolu PowerShell a provést příkaz tohoto druhu.

Někdy je potřeba smazat soubory starší než n dní. Například Backup's. Můžete to udělat ručně, seřadit je podle data a odstranit, nebo můžete použít skript. V tomto příkladu budeme uvažovat o skriptu pro mazání souborů starších než n dní a přidáme úkol plánovač oken Server 2012R2.

1.

2.

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

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

FORFILES / p F: \ záloha \ / s / m *. * / D -30 / c "CMD / c del / Q @FILE"

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

Takto to vypadá v PowerShellu:

Zbývá to jen splnit a hotovo.

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.

Co k tomu tedy potřebujeme?

Nejprve přejděte na „ Start -> Ovládací panely -> Nástroje pro správu"A běž tam" Plánovač úkolů«.

Vybíráme položku " Vytvořit úkol«:

Na kartě „ Všeobecné»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 uvádíme 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, na tom je vytvořen náš úkol. Zbývá počkat na provedení naší naplánované akce a zkontrolovat, zda bylo vše správně nakonfigurováno.