Brisanje datoteka starijih od n dana. Brisanje datoteka starijih od n dana Powershell briše mape starije od određenog datuma

Jedna od karakteristika najnovije verzije Windows 10 se može održavati čistim automatskim brisanjem datoteka koje su nakon određenog vremena postale nepotrebne. U ranijim verzijama sustava, u kojima ova funkcija još nije implementirana, možete koristiti naredbeni redak, konzola PowerShell pa čak i Dirigent, iako postupak čišćenja pomoću potonjeg nije tako prikladan.

Razmotrimo sve tri opcije.

Izbrišite stare datoteke pomoću Explorera

Istraživačka traka Windows 10 I 8.1 sadrži alat koji vam omogućuje sortiranje svih datoteka u direktoriju prema datumu izmjene, vrsti, veličini i nekim drugim svojstvima. Recimo da želite izbrisati datoteke starije od mjesec dana. Idite u mapu s datotekama pohranjenim u njoj i pritisnite F3 na tipkovnici. U tom slučaju bit ćete prebačeni na odjeljak pretraživanja u feedu Explorera.

Kliknite na ikonu "Datum promjene" i odaberite željeno vremensko razdoblje s padajućeg popisa, u ovom slučaju mjesec.

Explorer će odmah sortirati sve datoteke prema navedenom parametru, tako da ih sve što trebate učiniti je označiti mišem i poslati u smeće. Metoda je jednostavna, ali nije osobito prikladna, jer se sve mora učiniti ručno. Postoji puno učinkovitija metoda za brisanje starih datoteka, a sada ćemo je pogledati.

Brisanje starih datoteka u naredbenom retku

Za brisanje datoteka iz "istekao" koristit ćemo se uslužni program konzole ForFiles.exe, odgovoran za odabir objekta i izvođenje navedene radnje s njim. Uslužni program podržava nekoliko parametara, naime:

/S- omogućuje izvođenje rekurzivnog pretraživanja.
/P- označava put do odjeljka ili direktorija.
/D- označava broj dana od zadnje izmjene.
/C- određuje akcijsku naredbu na datoteci.

U timu ForFiles Također možete navesti varijable koje vraćaju različite vrijednosti, na primjer, @datoteka, koji vraća naziv datoteke i to ćemo koristiti. Na primjer, izbrišite sve datoteke starije od 10 dana u mapi "Slike", koji se nalazi u korijenu diska sustava.

Otvorite naredbeni redak i pokrenite sljedeću naredbu:

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

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

Primjer koristi tri ključa /str (staza) , /s (rekurzija) I /d (broj dana) , kao i naredba za brisanje del i varijabla naziva datoteke @datoteka. Nakon što pritisnemo enter, ForFilesće proći kroz cijeli sadržaj mape "Slike", uključujući poddirektorije I će izbrisati sve datoteke starije od 10 dana .

Kao što vidite, ova metoda je učinkovitija i brža, a osim toga, možete je automatizirati tako da za nju kreirate zadatke u Planeru.

Bilješka: Nakon izvršenja naredbe, konzola može prikazati poruku da se određena datoteka ne može pronaći. Ne brini, obično je tako skrivena datoteka baza podataka odgovorna za postavke kataloga. Ako nije u mapi (i u teoriji bi trebalo biti),ForFiles obavještava korisnika o tome.

Uklanjanje starih datoteka pomoću PowerShell-a

Ovdje je gotovo sve isto kao u primjeru s naredbeni redak, osim što je sintaksa drugačija. Pretpostavimo da se niti put do mape s datotekama niti naši ciljevi nisu promijenili. Pokrenite konzolu PowerShell i izvršiti ovakvu naredbu.

Ponekad morate izbrisati datoteke starije od n dana. Na primjer, sigurnosne kopije. To možete učiniti ručno, sortirati ih po datumu i izbrisati ih ili možete koristiti skriptu. U ovom primjeru ćemo pogledati skriptu za brisanje datoteka starijih od n dana i dodati joj zadatak Windows planer Poslužitelj 2012R2.

1.

2.

Skripta za brisanje datoteka starijih od n dana

Skripta je zapravo vrlo jednostavna, kreirana je u PowerShell-u i izgleda ovako:

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

Gdje:
F:\sigurnosna kopija\— putanja u kojoj ćemo mapi tražiti datoteke za brisanje
*.* — naziv datoteke (maska)
/d -30— starije od koliko dana trebamo izbrisati datoteke.

Ovako to izgleda u PowerShell-u:

Ostalo je samo dovršiti ga i to je to.

Stvaranje zadatka u rasporedu zadataka

Sve je u redu, imamo scenarij. Možemo to učiniti ručno kada trebamo očistiti sigurnosne kopije. Ali zašto to raditi ručno? Uputit ćemo planera da pokrene našu skriptu i sami se riješimo rutinskog posla.

Dakle, što nam je potrebno za ovo?

Prvo, idemo na " Start -> Upravljačka ploča -> Administrativni alati"i trči tamo" Planer zadataka«.

Odaberite stavku " Napravite zadatak«:

na " Su česti» postavite naziv zadatka, njegov opis i korisnika od kojeg će se izvršiti. Prema zadanim postavkama tu će biti korisnik pod kojim ste prijavljeni. ovaj trenutak u sustav.

program ili skripta

i odredite put do PowerShell-a:

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

A u argumentu označavamo put do naše skripte koju smo ranije stvorili:

Datoteka "c:\script\ochistkaf.ps1"

kliknite " u redu" ponovno " u redu»

To je to, naš zadatak je stvoren. Sve što preostaje je pričekati dok se naša zakazana radnja ne završi i provjeriti je li sve ispravno konfigurirano.