كيفية حذف الملفات الأقدم من X من الأيام تلقائيًا باستخدام PowerShell

يمكنك استخدام PowerShell لتحرير مساحة والحفاظ على تنظيم الأشياء عن طريق حذف الملفات الأقدم من عدد معين من الأيام في أي مجلد - إليك كيفية القيام بذلك على Windows 10.

على نظام التشغيل Windows 10 ، يعد استشعار سعة التخزين ميزة لتحرير مساحة تلقائيًا عندما تنخفض سعة التخزين لديك. تعمل هذه الميزة عن طريق حذف ملفات النظام غير المرغوب فيه ، تلك الملفات الموجودة في سلة المحذوفات أو مجلد التنزيلات لأكثر من شهر ، محتوى OneDrive الذي استخدمته منذ فترة على الإنترنت فقط.



على الرغم من أن هذه الميزة يمكن أن تكون مفيدة للتحكم في مساحة التخزين ، إلا أنها محدودة ولا تقدم خيارًا لإضافة مواقع مختلفة يدويًا لمراقبة وحذف الملفات التي لم تتغير في الشهر الماضي أو نحو ذلك.



إذا قمت بتخزين ملفات غير مهمة في موقع مختلف ، فمن الممكن استخدام PowerShell و Task Scheduler لمراقبة وتنظيف الملفات من أي مجلد أقدم من عدد محدد من الأيام.

في هذا يرشد، ستتعرف على خطوات حذف الملفات التي لم يتم تعديلها في الشهر الماضي أو أي عدد من الأيام التي تحددها تلقائيًا نظام التشغيل Windows 10.



مهم: اختبر الأمر باستخدام مجلد مؤقت ، لأن تحديد المعلمة الخاطئة يمكن أن يؤدي إلى حذف الملفات غير الصحيحة.

كيفية استخدام PowerShell لحذف الملفات الأقدم من X من الأيام على Windows 10

إذا كان لديك مجلدات مختلفة تحتوي على الكثير من الملفات وترغب في التنظيف عن طريق حذف تلك الأقدم من أيام معينة ، يمكنك استخدام الخطوات التالية:

  1. افتح بداية.

  2. يبحث عن ويندوز بوويرشيل، انقر بزر الماوس الأيمن على النتيجة وحددتشغيل كمسؤول اختيار.



  3. اكتب الأمر التالي لحذف الملفات التي لم يتم تعديلها في آخر 30 يومًا واضغط أدخل:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | إزالة بند

    في الأمر أعلاه تذكر أن تتغير 'C: path to folder' تحديد المسار إلى المجلد الذي تريد حذف الملفات وتغييره -30 لتحديد الملفات بتاريخ آخر تعديل.

    PowerShell LastWriteTime command

    أمر PowerShell LastWriteTime

كيفية استخدام برنامج جدولة المهام لحذف الملفات الأقدم من X يوم تلقائيًا على Windows 10

يسمح لك الأمر الوارد في التعليمات السابقة بحذف الملفات الموجودة في مجلد أقدم من 30 يومًا ، ولكنك تحتاج إلى فتح PowerShell وتنفيذ الأمر يدويًا في كل مرة تريد فيها تحرير مساحة.

إنشاء برنامج نصي PowerShell باستخدام المفكرة

لتشغيل مهمة باستخدام برنامج جدولة المهام ، ستحتاج إلى إنشاء برنامج نصي PowerShell مع الخطوات:

  1. افتح بداية.

  2. يبحث عن المفكرة وانقر على النتيجة العليا لفتح التجربة.

  3. انسخ الأمر التالي والصقه في ملف نصي في 'المفكرة':

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | إزالة بند

    في الأمر أعلاه تذكر أن تتغير 'C: path to folder' تحديد المسار إلى المجلد الذي تريد حذف الملفات وتغييره -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. في حقل 'إضافة وسيطات' اكتب الأمر التالي وانقر فوقحسنا زر.

    -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.