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

1643488845 Cum sa stergeti automat fisierele mai vechi de X zile
⏱️ 5 min read

Pe Windows 10, Storage Sense este o caracteristică care eliberează automat spațiu atunci când nu dispuneți de spațiu de stocare. Funcția funcționează prin ștergerea fișierelor de sistem nedorite, a acelor fișiere care au fost în coșul de reciclare sau în dosarul Descărcări de mai mult de o lună și prin crearea conținutului 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șierele care nu s-au schimbat în ultima lună.

Dacă stocați fișiere neimportante într-o locație diferită, este posibil să utilizați PowerShell și Task Scheduler pentru a monitoriza și curăța fișierele din orice folder mai vechi decât un anumit număr de zile.

În acest ghid, veți afla pașii pentru a șterge automat fișierele care nu au fost modificate în ultima lună sau în orice număr de zile specificat pe Windows 10. (Acești pași ar trebui să funcționeze și pe Windows 11.)

Important: Este recomandat să testați comanda folosind un folder temporar, deoarece tastarea unui parametru greșit poate duce la ștergerea fișierelor greșite.

Cum să utilizați PowerShell pentru a șterge fișiere mai vechi de X zile pe Windows 10

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

  1. Deschis start pe Windows 10.

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

  3. Tastaț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 (Get-Date).AddDays(-30))} | Remove-Item

    În comanda de mai sus, nu uitați să schimbați "C:\path\to\folder" specificând calea către folderul pe care doriți să îl ștergeți și să îl modificați -30 pentru a selecta fișierele cu data ultimei modificări.

Cum să utilizați Task Scheduler pentru a șterge automat fișierele mai vechi de X zile pe Windows 10

Comanda din instrucțiunile anterioare vă permite să ștergeți fișiere 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 Notepad

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ă Blocnotes și faceți clic pe rezultatul de sus pentru a deschide experiența.

  3. Copiați și inserați următoarea comandă într-un fișier text Notepad:

    Get-ChildItem –Path "C:\path\to\folder" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item

    În comanda de mai sus nu uitați să schimbați "C:\path\to\folder" specificând calea către folderul pe care doriți să îl ștergeți și să îl modificați -30 pentru a selecta fișierele cu data ultimei modificări.

  4. Apasă pe Fişier meniul.

  5. Alege Salvează ca opțiune.

  6. Salvați fișierul folosind curatare.ps1 nume și extensie.

Crearea unei sarcini folosind 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 Bibliotecă Task Scheduler pliant.

  4. Apasă pe Dosar nou opțiune.

  5. Tastați orice nume pentru folder și faceți clic 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ți Creați sarcină 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 indiferent dacă utilizatorul este conectat sau nu opțiunea din secțiunea „Opțiuni de securitate”. (Această opțiune va face ca fereastra de comandă să nu apară atunci când sarcina rulează automat.)

    Fila General Task Scheduler

  9. Ștergeți Nu stocați parola opțiune.

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

  11. Apasă pe Nou buton.

  12. Folosind meniul derulant „Începeți sarcina”, selectați La un program.

  13. Sub „Setări”, specificați când doriți să ruleze sarcina (de exemplu, La timp, Zilnic, Săptămânal, Lunar). Indiferent de opțiunea pe care o selectați, asigurați-vă că specificați start setările din partea dreaptă.

  14. Apasă pe O.K buton.

    Setări Task Scheduler Trigger

  15. Apasă pe Acțiuni fila.

  16. Apasă pe Nou Buton.

  17. Folosind meniul derulant „Acțiuni”, selectați Porniț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 O.K buton.

    -ExecutionPolicy Bypass C:\path\to\cleanup.ps1

    Amintiți-vă să schimbați "C:\path\to\cleanup.ps1" specificând calea către scriptul PowerShell pe care l-ați creat anterior pentru a șterge fișierele din comanda de mai sus.

    Setări de acțiuni ale programatorului de activități

  20. Apasă pe Setări fila.

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

    • Permiteți executarea sarcinii la cerere.
    • Rulați sarcina cât mai curând posibil după ce o pornire programată este ratată.
    • Dacă sarcina eșuează, reporniți totul.
  22. Apasă pe O.K buton.

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

  24. Apasă pe O.K buton.

După ce ați finalizat pașii, scriptul PowerShell va rula conform programului, ștergând fișierele mai vechi decât numărul de zile specificat. Nu uitați să nu schimbați numele sau să mutați folderul în altă locație. În caz contrar, sarcina va eșua.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

You may also like...