כיצד למחוק קבצים בני יותר מ- X ימים באופן אוטומטי באמצעות PowerShell

how delete files older than x days automatically using-powershell

אתה יכול להשתמש ב- PowerShell כדי לפנות מקום ולשמור על סדר בארגונים על ידי מחיקת קבצים שמבוגרים יותר ממספר מסוים של ימים בכל תיקיה - הנה כיצד לעשות זאת ב- Windows 10.



ב- Windows 10, תחושת אחסון היא תכונה לפינוי שטח באופן אוטומטי כשלא מסתפק באחסון. התכונה פועלת על ידי מחיקת קבצי מערכת זבל, הקבצים שנמצאים בסל המיחזור או תיקיית ההורדות במשך יותר מחודש, וביצוע תוכן של OneDrive בו השתמשת בזמן מקוון בלבד.



למרות שתכונה זו יכולה להיות שימושית לשליטה על שטח האחסון, היא מוגבלת ואינה מציעה אפשרות להוסיף ידנית מיקומים שונים כדי לפקח ולמחוק קבצים שלא השתנו בחודש האחרון בערך.

אם אתה מאחסן קבצים לא חשובים במיקום אחר, אפשר להשתמש ב- PowerShell ובמתזמן המשימות כדי לפקח ולנקות קבצים מכל תיקיה שגילם מספר ימים מוגדר.



בזה להנחות, תלמד את הצעדים למחיקה אוטומטית של קבצים שלא שונו בחודש האחרון או במספר הימים שאתה מציין עליהם חלונות 10.

חָשׁוּב: בדוק את הפקודה באמצעות תיקיה זמנית, שכן ציון הפרמטר השגוי יכול לגרום למחיקת הקבצים השגויים.

כיצד להשתמש ב- PowerShell כדי למחוק קבצים שגילם יותר מ- X ימים ב- Windows 10

אם יש לך תיקיות שונות עם הרבה קבצים וברצונך לבצע ניקוי על ידי מחיקת אלה שגדלו מהימים מסוימים, תוכל להשתמש בשלבים הבאים:

  1. לִפְתוֹחַ הַתחָלָה.



  2. לחפש אחר Windows PowerShellלחץ באמצעות לחצן העכבר הימני על התוצאה ובחרהפעל כמנהל אוֹפְּצִיָה.

  3. הקלד את הפקודה הבאה כדי למחוק קבצים שלא שונו בשלושים הימים האחרונים ולחץ על להיכנס:

    Get-ChildItem – path 'C:  path  to  folder' -Recurse | איפה האובייקט {($ _. LastWriteTime -lt (קבל תאריך). AddDays (-30))} | הסר פריט

    בפקודה לעיל זכור לשנות 'C: נתיב לתיקיה' ציון הנתיב לתיקיה שברצונך למחוק קבצים ושינוי -30 לבחירת קבצים עם תאריך שינוי אחרון.

    PowerShell LastWriteTime command

    הפקודה PowerShell LastWriteTime

כיצד להשתמש במתזמן המשימות כדי למחוק קבצים שגילם יותר מ- X ימים באופן אוטומטי ב- Windows 10

הפקודה בהוראות הקודמות מאפשרת למחוק קבצים בתיקיה שגילם יותר מ -30 יום, אך עליך לפתוח את PowerShell ולבצע את הפקודה ידנית בכל פעם שתרצה לפנות מקום.

יצירת סקריפט PowerShell באמצעות פנקס רשימות

כדי להריץ משימה באמצעות מתזמן המשימות, יהיה עליך ליצור סקריפט PowerShell עם השלבים:

  1. לִפְתוֹחַ הַתחָלָה.

  2. לחפש אחר פנקס רשימות ולחץ על התוצאה העליונה כדי לפתוח את החוויה.

  3. העתק והדבק את הפקודה הבאה בקובץ טקסט של פנקס רשימות:

    Get-ChildItem – path 'C:  path  to  folder' -Recurse | איפה האובייקט {($ _. LastWriteTime -lt (קבל תאריך). AddDays (-30))} | הסר פריט

    בפקודה לעיל זכור לשנות 'C: נתיב לתיקיה' ציון הנתיב לתיקיה שברצונך למחוק קבצים ושינוי -30 לבחירת קבצים עם תאריך שינוי אחרון.

  4. לחץ על קוֹבֶץ תַפרִיט.

  5. בחר את שמור כ אוֹפְּצִיָה.

  6. שמור את הקובץ באמצעות ניקוי .ps1 שם והרחבה.

יצירת משימה באמצעות מתזמן המשימות

אם ברצונך להפוך את התהליך לאוטומטי, עליך להשתמש בתזמון המשימות כדי ליצור משימה המבצעת את הפקודה במרווחים מוגדרים.

  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. בשדה 'תוכנית / סקריפט', הקלד את הפקודה הבאה:

    powershell.exe
  19. בשדה 'הוסף טיעונים' הקלד את הפקודה הבאה ולחץ עלבסדר לַחְצָן.

    -ביצוע עוקף מדיניות 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.