Πώς να διαγράψετε αυτόματα αρχεία παλαιότερα από X ημέρες χρησιμοποιώντας το PowerShell

Μπορείτε να χρησιμοποιήσετε το PowerShell για να ελευθερώσετε χώρο και να διατηρήσετε τα πράγματα οργανωμένα διαγράφοντας μόνο αρχεία που είναι παλαιότερα από έναν ορισμένο αριθμό ημερών σε οποιονδήποτε φάκελο - Δείτε πώς μπορείτε να το κάνετε στα Windows 10.

Στα Windows 10, το Storage sense είναι μια δυνατότητα αυτόματης απελευθέρωσης χώρου όταν εξαντλείται ο αποθηκευτικός χώρος. Η λειτουργία λειτουργεί διαγράφοντας ανεπιθύμητα αρχεία συστήματος, εκείνα τα αρχεία που βρίσκονται στον κάδο ανακύκλωσης ή στο φάκελο Λήψεις για περισσότερο από ένα μήνα και κάνοντας Περιεχόμενο OneDrive που έχετε χρησιμοποιήσει για λίγο μόνο στο διαδίκτυο.



Παρόλο που αυτή η λειτουργία μπορεί να είναι χρήσιμη για τον έλεγχο του χώρου αποθήκευσης, είναι περιορισμένη και δεν προσφέρει την επιλογή μη αυτόματης προσθήκης διαφορετικών τοποθεσιών για παρακολούθηση και διαγραφή αρχείων που δεν έχουν αλλάξει τον τελευταίο μήνα.



Εάν αποθηκεύετε μη σημαντικά αρχεία σε διαφορετική τοποθεσία, είναι δυνατό να χρησιμοποιήσετε το PowerShell και το Task Scheduler για την παρακολούθηση και τον καθαρισμό αρχείων από οποιονδήποτε φάκελο που είναι παλαιότερος από έναν καθορισμένο αριθμό ημερών.

Σε αυτό οδηγός, θα μάθετε τα βήματα για την αυτόματη διαγραφή αρχείων που δεν έχουν τροποποιηθεί τον τελευταίο μήνα ή για τον αριθμό των ημερών που καθορίζετε Windows 10.



Σπουδαίος: Δοκιμάστε την εντολή χρησιμοποιώντας έναν προσωρινό φάκελο, καθώς ο καθορισμός λανθασμένης παραμέτρου μπορεί να προκαλέσει τη διαγραφή λανθασμένων αρχείων.

Πώς να χρησιμοποιήσετε το PowerShell για να διαγράψετε αρχεία παλαιότερα από X ημέρες στα Windows 10

Εάν έχετε διαφορετικούς φακέλους με πολλά αρχεία και θέλετε να κάνετε εκκαθάριση διαγράφοντας αυτούς που είναι παλιότεροι από συγκεκριμένες ημέρες, μπορείτε να ακολουθήσετε τα εξής βήματα:

  1. Ανοιξε Αρχή.

  2. Ψάχνω για Windows PowerShell, κάντε δεξί κλικ στο αποτέλεσμα και επιλέξτε τοΕκτέλεση ως διαχειριστής επιλογή.



  3. Πληκτρολογήστε την παρακάτω εντολή για να διαγράψετε αρχεία που δεν έχουν τροποποιηθεί τις τελευταίες 30 ημέρες και πατήστε Εισαγω:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Κατάργηση-στοιχείου

    Στην παραπάνω εντολή θυμηθείτε να αλλάξετε 'C: path to φάκελος' καθορίζοντας τη διαδρομή προς το φάκελο που θέλετε να διαγράψετε αρχεία και να αλλάξετε -30 για να επιλέξετε αρχεία με την τελευταία τροποποιημένη ημερομηνία.

    PowerShell LastWriteTime command

    Εντολή PowerShell LastWriteTime

Τρόπος χρήσης του χρονοδιαγράμματος εργασιών για αυτόματη διαγραφή αρχείων παλαιότερων των X ημερών στα Windows 10

Η εντολή στις προηγούμενες οδηγίες σάς επιτρέπει να διαγράψετε αρχεία σε ένα φάκελο που είναι παλαιότερο από 30 ημέρες, αλλά πρέπει να ανοίξετε το PowerShell και να εκτελέσετε την εντολή χειροκίνητα κάθε φορά που θέλετε να ελευθερώσετε χώρο.

Δημιουργία σεναρίου PowerShell χρησιμοποιώντας το Σημειωματάριο

Για να εκτελέσετε μια εργασία χρησιμοποιώντας το Χρονοδιάγραμμα εργασιών, θα χρειαστεί να δημιουργήσετε ένα σενάριο PowerShell με τα βήματα:

  1. Ανοιξε Αρχή.

  2. Ψάχνω για Μπλοκ ΣΗΜΕΙΩΣΕΩΝ και κάντε κλικ στο κορυφαίο αποτέλεσμα για να ανοίξετε την εμπειρία.

  3. Αντιγράψτε και επικολλήστε την ακόλουθη εντολή σε ένα αρχείο κειμένου Notepad:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Κατάργηση-στοιχείου

    Στην παραπάνω εντολή θυμηθείτε να αλλάξετε 'C: path to φάκελος' καθορίζοντας τη διαδρομή προς το φάκελο που θέλετε να διαγράψετε αρχεία και να αλλάξετε -30 για να επιλέξετε αρχεία με την τελευταία τροποποιημένη ημερομηνία.

  4. Κάντε κλικ στο Αρχείο μενού.

  5. Επίλεξε το Αποθήκευση ως επιλογή.

  6. Αποθηκεύστε το αρχείο χρησιμοποιώντας το cleanup.ps1 όνομα και επέκταση.

Δημιουργία μιας εργασίας χρησιμοποιώντας το Task Scheduler

Εάν θέλετε να αυτοματοποιήσετε τη διαδικασία, πρέπει να χρησιμοποιήσετε το Task Scheduler για να δημιουργήσετε μια εργασία που εκτελεί την εντολή σε καθορισμένα διαστήματα.

  1. Ανοιξε Αρχή.

  2. Ψάχνω γιαΠρογραμματιστής εργασιών και κάντε κλικ στο αποτέλεσμα.

  3. Κάντε δεξί κλικ στο Βιβλιοθήκη προγραμματιστών εργασιών ντοσιέ.

  4. Κάντε κλικ στοΝέος φάκελος επιλογή.

  5. Πληκτρολογήστε οποιοδήποτε όνομα για το φάκελο και κάντε κλικ στο Εντάξει. (Δημιουργούμε έναν νέο φάκελο για να διατηρούμε τις εργασίες οργανωμένες και διαχωρισμένες από τις εργασίες του συστήματος.)

  6. Κάντε δεξί κλικ στον πρόσφατα δημιουργημένο φάκελο και επιλέξτε τοΔημιουργία εργασίας επιλογή.

  7. Στο πλαίσιο 'Όνομα', εισαγάγετε ένα όνομα για την εργασία.

  8. Στην καρτέλα 'Γενικά', στην ενότητα 'Επιλογές ασφαλείας', επιλέξτε το Εκτελέστε αν ο χρήστης είναι συνδεδεμένος ή όχι επιλογή. (Αυτή είναι η επιλογή που θα κάνει το παράθυρο εντολών να μην εμφανίζεται όταν η εργασία εκτελείται αυτόματα.)

    Task Scheduler General tab

    Γενική καρτέλα Προγραμματιστής εργασιών
  9. Καθαρίστε τοΜην αποθηκεύετε τον κωδικό πρόσβασης επιλογή.

  10. Κάντε κλικ στην καρτέλα 'Ενεργοποιήσεις'.

  11. Κάντε κλικ στο Νέος κουμπί.

  12. Χρησιμοποιώντας το αναπτυσσόμενο μενού 'Έναρξη της εργασίας', επιλέξτε Σε πρόγραμμα.

  13. Στην ενότητα 'Ρυθμίσεις', καθορίστε πότε θέλετε να εκτελεστεί η εργασία (για παράδειγμα, ώρα, καθημερινή, εβδομαδιαία, μηνιαία). Όποια και αν είναι η επιλογή, βεβαιωθείτε ότι έχετε ορίσει το Αρχή ρυθμίσεις στη δεξιά πλευρά.

  14. Κάντε κλικ στοΕντάξει κουμπί.

    Task Scheduler Trigger settings

    Ρυθμίσεις ενεργοποίησης προγραμματιστή εργασιών
  15. Κάντε κλικ στο Ενέργειες αυτί.

  16. Κάντε κλικ στο Νέος Κουμπί.

  17. Χρησιμοποιώντας το αναπτυσσόμενο μενού 'Ενέργειες', επιλέξτε τοΞεκινήστε ένα πρόγραμμα επιλογή.

  18. Στο πεδίο 'Πρόγραμμα / σενάριο', πληκτρολογήστε την ακόλουθη εντολή:

    powerhell.exe
  19. Στο πεδίο 'Προσθήκη ορισμάτων' πληκτρολογήστε την ακόλουθη εντολή και κάντε κλικ στοΕντάξει κουμπί.

    -ExecutionPolicy Bypass C:  path  to  cleanup.ps1

    Στην παραπάνω εντολή θυμηθείτε να αλλάξετε 'C: path to cleanup.ps1' καθορίζοντας τη διαδρομή προς το σενάριο PowerShell που έχετε δημιουργήσει προηγουμένως για να διαγράψετε αρχεία.

    Task Scheduler Action settings

    Ρυθμίσεις δράσης προγραμματιστή εργασιών
  20. Κάντε κλικ στο Ρυθμίσεις αυτί.

  21. Ελέγξτε τις ακόλουθες επιλογές:

    • Αφήστε την εργασία να εκτελείται κατ 'απαίτηση.
    • Εκτελέστε την εργασία το συντομότερο δυνατό μετά από μια χαμένη προγραμματισμένη έναρξη.
    • Εάν η εργασία αποτύχει, επανεκκινήστε τα πάντα.
  22. Κάντε κλικ στοΕντάξει κουμπί.

  23. Πληκτρολογήστε το όνομα χρήστη και τον κωδικό πρόσβασης διαχειριστή (εάν υπάρχει).

  24. Κάντε κλικ στοΕντάξει κουμπί.

Μόλις ολοκληρώσετε τα βήματα, το σενάριο PowerShell θα εκτελεστεί στο πρόγραμμα διαγραφής των αρχείων στην τοποθεσία που είναι παλαιότερα από τον αριθμό των ημερών που καθορίσατε. Απλώς θυμηθείτε να μην αλλάξετε το όνομα ή να μετακινήσετε το φάκελο σε άλλη τοποθεσία, διαφορετικά η εργασία θα αποτύχει.

Ενημέρωση 29 Ιανουαρίου 2018: Αυτός ο οδηγός δημοσιεύθηκε αρχικά τον Δεκέμβριο του 2017 και ενημερώθηκε τον Ιανουάριο του 2019.