Odstraňujú sa súbory staršie ako n dní. Odstraňovanie súborov starších ako n dní Powershell odstraňuje priečinky staršie ako určitý dátum

Jedna z vlastností najnovšie verzie Windows 10 sa dokáže udržiavať v čistote automatickým odstraňovaním súborov, ktoré sa po určitom čase stali nepotrebnými. V starších verziách systému, v ktorých táto funkcia ešte nebola implementovaná, môžete použiť príkazový riadok, konzola PowerShell a dokonca Dirigent, aj keď postup čistenia pomocou druhého nie je taký pohodlný.

Zvážme všetky tri možnosti.

Odstráňte staré súbory pomocou Prieskumníka

Prieskumnícka páska Windows 10 A 8.1 obsahuje nástroj, ktorý umožňuje triediť všetky súbory v adresári podľa dátumu úpravy, typu, veľkosti a niektorých ďalších vlastností. Povedzme, že chcete odstrániť súbory staršie ako jeden mesiac. Prejdite do priečinka so súbormi, ktoré sú v ňom uložené, a stlačte kláves F3 na klávesnici. V takom prípade budete prepnutí do sekcie vyhľadávania v kanáli Prieskumník.

Kliknite na ikonu "Dátum zmeny" a vyberte požadované časové obdobie z rozbaľovacieho zoznamu, v tomto prípade mesiac.

Prieskumník okamžite zoradí všetky súbory podľa zadaného parametra, takže ich stačí vybrať myšou a odoslať do koša. Metóda je jednoduchá, ale nie príliš pohodlná, pretože všetko sa musí robiť ručne. Existuje oveľa efektívnejšia metóda na odstránenie starých súborov a teraz sa na ňu pozrieme.

Odstránenie starých súborov na príkazovom riadku

Ak chcete odstrániť súbory z "vypršala" budeme používať konzolový nástroj ForFiles.exe, zodpovedný za výber objektu a vykonanie zadanej akcie s ním. Nástroj podporuje niekoľko parametrov, a to:

/S- umožňuje vykonávať rekurzívne vyhľadávanie.
/P- označuje cestu k sekcii alebo adresáru.
/D- označuje počet dní od poslednej úpravy.
/C- určuje príkaz akcie na súbore.

V tíme ForFiles Môžete tiež zadať premenné, ktoré vracajú rôzne hodnoty, napr. @súbor, ktorý vráti názov súboru a je to, čo budeme používať. Napríklad vymažte všetky súbory staršie ako 10 dní v priečinku "Snímky", ktorý sa nachádza v koreňovom adresári systémového disku.

Otvorte príkazový riadok a spustite nasledujúci prí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"

Príklad používa tri kľúče /str (cesta) , /s (rekurzia) A /d (počet dní) , ako aj príkaz delete del a premenná názvu súboru @súbor. Keď stlačíme enter, ForFiles prejde celý obsah priečinka "Snímky", vrátane podadresárov A vymaže všetky súbory staršie ako 10 dní .

Ako vidíte, táto metóda je efektívnejšia a rýchlejšia a navyše ju môžete automatizovať tak, že pre ňu vytvoríte úlohy v Plánovači.

Poznámka: Po vykonaní príkazu môže konzola zobraziť správu, že určitý súbor nemožno nájsť. Nebojte sa, zvyčajne je to tak skrytý súbor databázy zodpovednej za nastavenie katalógu. Ak nie je v priečinku (a teoreticky by to tak malo byť),ForFiles na to upozorní používateľa.

Odstránenie starých súborov pomocou PowerShell

Tu je takmer všetko rovnaké ako v príklade s príkazový riadok, okrem toho, že syntax je odlišná. Predpokladajme, že sa nezmenila ani cesta k priečinku so súbormi, ani naše ciele. Spustite konzolu PowerShell a vykonajte príkaz ako je tento.

Niekedy je potrebné odstrániť súbory staršie ako n dní. Napríklad Zálohy. Môžete to urobiť ručne, zoradiť ich podľa dátumu a odstrániť, alebo môžete použiť skript. V tomto príklade sa pozrieme na skript na vymazanie súborov starších ako n dní a pridáme úlohu do Plánovač systému Windows Server 2012R2.

1.

2.

Skript na mazanie súborov starších ako n dní

Skript je vlastne veľmi jednoduchý, je vytvorený v PowerShell a vyzerá takto:

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

Kde:
F:\záloha\— cesta, v ktorej priečinku budeme hľadať súbory na odstránenie
*.* — názov súboru (maska)
/d -30— staršie ako koľko dní potrebujeme na vymazanie súborov.

Takto to vyzerá v PowerShell:

Zostáva to už len dokončiť a je to.

Vytvorenie úlohy v plánovači úloh

Všetko je v poriadku, máme scenár. Môžeme to urobiť ručne, keď potrebujeme vyčistiť zálohy. Ale prečo to robiť ručne? Dáme pokyn plánovačovi, aby spustil náš skript a zbavil sa rutinnej práce sami.

Takže, čo k tomu potrebujeme?

Najprv poďme na " Štart -> Ovládací panel -> Nástroje na správu"a bež tam" Plánovač úloh«.

Vyberte položku " Vytvorte úlohu«:

Na " Sú bežné» nastavte názov úlohy, jej popis a používateľa, od ktorého sa bude vykonávať. V predvolenom nastavení bude používateľ, ako ste prihlásený. tento moment do systému.

program alebo skript

a zadajte cestu k PowerShellu:

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

A v argumente uvádzame cestu k nášmu skriptu, ktorý sme vytvorili skôr:

Súbor "c:\script\ochistkaf.ps1"

Kliknite na " OK" ešte raz " OK»

To je všetko, naša úloha je vytvorená. Zostáva len počkať, kým sa naša naplánovaná akcia dokončí a skontrolovať, či bolo všetko správne nakonfigurované.