Cum să ștergeți fișiere mai vechi de X zile folosind PowerShell

how delete files older than x days automatically using-powershell

Puteți utiliza PowerShell pentru a elibera spațiu și pentru a menține lucrurile organizate numai ștergând fișierele mai vechi de un anumit număr de zile din orice folder - Iată cum se poate face pe Windows 10.



Pe Windows 10, Simțirea stocării este o caracteristică pentru a elibera automat spațiul atunci când ai un nivel scăzut de stocare. Funcția funcționează prin ștergerea fișierelor de sistem junk, acele fișiere care au fost în folderul de reciclare sau folderul Descărcări de mai bine de o lună și Conținut OneDrive pe care l-ați folosit de ceva timp doar online.



Deși această caracteristică poate fi utilă pentru a controla spațiul de stocare, este limitată și nu oferă o opțiune de a adăuga manual diferite locații pentru a monitoriza și șterge fișiere care nu s-au modificat în ultima lună sau ceva mai mult.

Dacă stocați fișiere care nu sunt importante într-o altă locație, este posibil să utilizați PowerShell și Task Scheduler pentru a monitoriza și curăța fișierele de pe orice dosar mai vechi de un număr de zile specificat.



In acest ghid, veți afla pașii pentru ștergerea automată a fișierelor care nu au fost modificate în ultima lună sau a numărului de zile pe care le specificați Windows 10.

Important: Testați comanda folosind un folder temporar, deoarece specificarea parametrului greșit poate provoca ștergerea fișierelor greșite.

Cum se utilizează PowerShell pentru a șterge fișiere mai vechi de X zile de pe Windows 10

Dacă aveți foldere diferite cu o mulțime de fișiere și doriți să curățați ștergând cele mai vechi decât anumite zile, puteți utiliza acești pași:

  1. Deschis start.



  2. Caută Windows PowerShell, faceți clic dreapta pe rezultat și selectați butonulRulat ca administrator opțiune.

  3. Introduceți următoarea comandă pentru a șterge fișierele care nu au fost modificate în ultimele 30 de zile și apăsați introduce:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (data de obținere) .AddDays (-30))} | Eliminați-Articol

    În comanda de mai sus amintiți-vă să vă schimbați 'C: cale a folderul' specificând calea către folderul pe care doriți să îl ștergeți fișiere și modificați -30 pentru a selecta fișierele cu o ultimă dată modificată.

    PowerShell LastWriteTime command

    Comanda PowerShell LastWriteTime

Cum se utilizează Task Scheduler pentru a șterge automat fișiere mai vechi de X zile pe Windows 10

Comanda din instrucțiunile anterioare vă permite să ștergeți fișierele dintr-un folder mai vechi de 30 de zile, dar trebuie să deschideți PowerShell și să executați comanda manual de fiecare dată când doriți să eliberați spațiu.

Crearea unui script PowerShell folosind un bloc de notițe

Pentru a rula o sarcină utilizând Task Scheduler, va trebui să creați un script PowerShell cu pașii:

  1. Deschis start.

  2. Caută Notepad și faceți clic pe rezultatul de sus pentru a deschide experiența.

  3. Copiați și lipiți următoarea comandă într-un fișier text cu bloc de notițe:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (data de obținere) .AddDays (-30))} | Eliminați-Articol

    În comanda de mai sus amintiți-vă să vă schimbați 'C: cale a folderul' specificând calea către folderul pe care doriți să îl ștergeți fișiere și modificați -30 pentru a selecta fișierele cu o ultimă dată modificată.

  4. Apasă pe Fişier meniul.

  5. Selectează Salvează ca opțiune.

  6. Salvați fișierul folosind cleanup.ps1 numele și extensia.

Crearea unei sarcini utilizând Task Scheduler

Dacă doriți să automatizați procesul, trebuie să utilizați Task Scheduler pentru a crea o sarcină care execută comanda la intervale specificate.

  1. Deschis start.

  2. CautăPlanificator de sarcini și faceți clic pe rezultat.

  3. Faceți clic dreapta pe butonul Scheduler Library pliant.

  4. Apasă peDosar nou opțiune.

  5. Introduceți orice nume pentru dosar și faceți clic pe O.K. (Creăm un nou folder pentru a menține sarcinile organizate și separate de sarcinile de sistem.)

  6. Faceți clic dreapta pe folderul creat recent și selectațiCreați Task opțiune.

  7. În caseta „Nume”, introduceți un nume pentru sarcină.

  8. În fila „General”, în secțiunea „Opțiuni de securitate”, selectați Rulați dacă utilizatorul este conectat sau nu opțiune. (Aceasta este opțiunea care va face ca fereastra de comandă să nu apară atunci când sarcina se execută automat.)

    Task Scheduler General tab

    Fila General Scheduler Task
  9. ȘtergețiNu stocați parola opțiune.

  10. Faceți clic pe fila „Declanșatoare”.

  11. Apasă pe Nou buton.

  12. Cu meniul derulant „Începeți sarcina”, selectați Pe un program.

  13. În „Setări”, specificați când doriți să fie executată sarcina (de exemplu, la timp, zilnic, săptămânal, lunar). Indiferent de opțiunea selectată, asigurați-vă că specificați start setări în partea dreaptă.

  14. Apasă peO.K buton.

    Task Scheduler Trigger settings

    Scheduler Task Setări de declanșare
  15. Apasă pe acţiuni tab.

  16. Apasă pe Nou Buton.

  17. Utilizând meniul derulant „Acțiuni”, selectațiÎncepeți un program opțiune.

  18. În câmpul „Program / script”, tastați următoarea comandă:

    powershell.exe
  19. În câmpul „Adăugați argumente”, tastați următoarea comandă și faceți clic pe butonulO.K buton.

    -ExecutionPolicy Bypass C:  path  to  cleanup.ps1

    În comanda de mai sus amintiți-vă să vă schimbați 'C: cale a cleanup.ps1' specificând calea către scriptul PowerShell pe care l-ați creat în prealabil pentru a șterge fișierele.

    Task Scheduler Action settings

    Setări de acțiune Scheduler Task
  20. Apasă pe Setări tab.

  21. Verificați următoarele opțiuni:

    • Permiteți sarcina să fie executată la cerere.
    • Rulați sarcina cât mai curând posibil, după o pornire programată ratată.
    • Dacă sarcina eșuează, reporniți totul.
  22. Apasă peO.K buton.

  23. Introduceți numele dvs. de utilizator și parola administrativă (dacă este cazul).

  24. Apasă peO.K buton.

După ce ați finalizat pașii, scriptul PowerShell va rula pe program ștergând fișierele din locația care sunt mai vechi decât numărul de zile specificate. Nu uitați să nu schimbați numele sau să mutați folderul într-o altă locație, altfel sarcina nu va reuși.

Actualizare 29 ianuarie 2018: Acest ghid a fost publicat inițial în decembrie 2017 și a fost actualizat în ianuarie 2019.