Powershell odstraňuje súbory z používateľských priečinkov. Odstráňte súbory staršie ako n dní. Vytvorte úlohu v Plánovači úloh

Jedna z vlastností najnovšie verzie Windows 10 je schopnosť udržiavať sa 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, ktoré túto funkciu ešte nemajú, 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ánenie starých súborov pomocou Prieskumníka

Prieskumnícka stuha 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 zastaranými súbormi a stlačte kláves F3 na klávesnici. Tým sa dostanete do sekcie vyhľadávania na páse s nástrojmi Prieskumník.

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

Prieskumník okamžite zoradí všetky súbory podľa daný parameter, takže ich stačí vybrať myšou a poslať do koša. Metóda je jednoduchá, ale nie príliš pohodlná, pretože všetko sa musí robiť ručne. Je ich oveľa viac efektívna metóda vymazanie starých súborov a teraz to len zvážime.

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

Ak chcete odstrániť súbory z "vypršala" použijeme konzolovú utilitu ForFiles.exe A, ktorá je zodpovedná za výber objektu a vykonanie špecifikovanej akcie na ňom. Nástroj podporuje niekoľko možností, konkrétne:

/S- umožňuje vykonávať rekurzívne vyhľadávanie.
/P- určuje cestu k oddielu alebo adresáru.
/D- označuje počet dní od poslednej úpravy.
/C- nastaví príkaz, ktorý bude pôsobiť na súbor.

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 ktorý budeme používať. Napríklad odstráňte všetky súbory staršie ako 10 dní v priečinku "obrázky" umiestnený v koreňovom adresári systémovej jednotky.

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 iterujte obsah priečinka "obrázky", vrátane vnorených adresá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, navyše ju môžete automatizovať vytváraním úloh pre ňu v Plánovači.

Poznámka: po vykonaní príkazu sa v konzole môže objaviť hlásenie, že určitý súbor nemožno nájsť. Nevadí, zvyčajne to tak je skrytý súbor databázy, ktorá je zodpovedná za nastavenie adresára. Ak nie je v priečinku (a teoreticky by malo byť), ForFiles 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 ciele. Spustenie konzoly 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. AT tento príklad pozrieme sa na skript na mazanie súborov starších ako n dní a pridáme úlohu do plánovača Windows Server 2012R2.

1.

2.

Skript na odstránenie súborov starších ako n dní

Skript je v skutočnosti veľmi jednoduchý, 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 (maska) súborov
/d-30- staršie ako koľko dní potrebujeme na vymazanie súborov.

Takto to vyzerá v PowerShell:

Zostáva to len vykonať a je to.

Vytvorte úlohu 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.

Čo k tomu teda potrebujeme?

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

Vyberte položku " Vytvorte úlohu«:

Na karte " generál» nastavte názov úlohy, jej popis a používateľa, od ktorého sa bude vykonávať. V predvolenom nastavení to bude používateľ, ako ste práve prihlásený.

program alebo skript

a zadajte cestu k PowerShellu:

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

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

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

stlačte " OK" ešte raz " OK»

Všetko, na tomto je stvorená naša úloha. Zostáva počkať na dokončenie našej naplánovanej akcie a skontrolovať, či je všetko správne nakonfigurované.