استخدام Forfiles لمعالجة الملفات على أساس العمر

من الجيد دائمًا معرفة بعض السحر في سطر الأوامر ، لأنه في بعض الأحيان يكون من السهل معالجة الأوامر بهذه الطريقة.

يوضح هذا الدليل الأمر Forfiles في نظامي التشغيل Windows Vista و Windows 7 (التحديث: متوفر أيضًا في الإصدارات الأحدث من Windows).

يمكن Forfiles معالجة الملفات على أساس الأسماء ، امتدادات الملفات والعمر. من الممكن على سبيل المثال العثور على جميع المستندات في دليل يزيد عمره عن 20 يومًا أو جميع المستندات الموجودة في c: \ المستندات التي تم تغييرها منذ تاريخ محدد.

يمكن أن يقترن الأمر forfiles بخيارات المعالجة لحذف هذه الملفات ، أو لإنشاء قائمة بجميع الملفات التي تتوافق مع المرشحات. دعونا نلقي نظرة فاحصة على الأمر forfiles.

FORFILES [/ P pathname] [/ M searchmask] [/ S] [/ C command] [/ D [+ | -] يوم / شهر / سنة

الوصف ؛: تحديد ملف (أو مجموعة من الملفات) وتنفيذ أمر على هذا الملف. هذا مفيد للوظائف الدفعية.

قائمة المعلمات:

  • / P pathname يشير إلى المسار لبدء البحث. المجلد الافتراضي هو دليل العمل الحالي (.).
  • / M searchmask يبحث عن الملفات وفقًا لقناع البحث. قناع البحث الافتراضي هو '*'.
  • / S يوجه forfiles إلى recurse إلى الدلائل الفرعية. مثل "DIR / S".
  • / C command يشير إلى الأمر المطلوب تنفيذه لكل ملف. يجب أن تكون ملفوفة سلاسل الأوامر في علامات اقتباس مزدوجة. الأمر الافتراضي هو "cmd / c echofile".

يمكن استخدام المتغيرات التالية في سلسلة الأوامر:

  • file - إرجاع اسم الملف.
  • fname - إرجاع اسم الملف دون ملحق.
  • ext - إرجاع ملحق الملف فقط.
  • path - إرجاع المسار الكامل للملف.
  • relpath - تُرجع المسار النسبي للملف.
  • isdir - تُرجع "TRUE" إذا كان نوع الملف عبارة عن دليل ، و "FALSE" للملفات.
  • fsize - تُرجع حجم الملف بالبايت.
  • fdate - إرجاع آخر تاريخ تعديل للملف.
  • ftime - تُرجع آخر مرة تم فيها تعديل الملف.

لتضمين أحرف خاصة في سطر الأوامر ، استخدم الكود السداسي العشري للحرف بتنسيق 0xHH (على سبيل المثال ، 0x09 لعلامة التبويب). يجب أن تسبق أوامر CMD.exe الداخلية بـ "cmd / c".

/ D date تحديد الملفات ذات تاريخ التعديل الأخير أكبر من أو يساوي (+) أو أقل من أو تساوي (-) ، التاريخ المحدد باستخدام تنسيق "dd / MM / yyyy" ؛ أو تحديد ملفات ذات تاريخ آخر تعديل أكبر من أو يساوي (+) التاريخ الحالي بالإضافة إلى أيام "dd" ، أو أقل من (-) التاريخ الحالي مطروحًا منه أيام "dd". يمكن أن يكون عدد أيام "dd" صالح هو أي رقم في حدود 0 - 32768. يتم أخذ "+" كعلامة افتراضية إذا لم يتم تحديدها.

/؟ يعرض رسالة المساعدة هذه. يمكن فتح ملف المساعدة هذا عن طريق إدخال الأوامر forfiles /؟ في موجه الأوامر. اضغط على Windows-R ، اكتب cmd ، واضغط على enter لبدء تشغيل سطر الأوامر في Windows.

forfiles /P c:\test\ /M .doc /S /D -10 الأمر forfiles /P c:\test\ /M .doc /S /D -10 في الدليل c: \ test وجميع الدلائل الفرعية الخاصة به للملفات ذات ملحق .doc الأقدم من 10 أيام.

تحدد المعلمة / p متبوعة بالدليل دليل البداية ، / s تتضمن الدلائل الفرعية في البحث ، / m تقوم بتصفية الملفات والمجلدات بناءً على السلسلة التي تم إدخالها ، و / D تحدد التاريخ أو الفترة الزمنية.

يتم استخدام الأمر / C لمعالجة الملفات التي تم العثور عليها بشكل أكبر. على سبيل المثال ، يمكن استخدامه لتشغيل الأمر التالي: /C "cmd /c echo @fname" > test.txt صدى أسماء كل ملف تم العثور عليه وحفظ النتائج في text.txt في نفس الدليل.

يبدو الأمر كاملاً مثل هذا forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

الاحتمال الآخر هو حذف الملفات التي تطابق البحث ، ويتم ذلك مع الأمر /C "cmd /c del @File

ومع ذلك ، يوصى باختبار الإخراج أولاً ، قبل إصدار أمر الحذف للتأكد من حذف الملفات الصحيحة فقط. يمكن للمستخدمين المتمرسين إنشاء ملف دفعي لتنفيذ ملفات التوثيق بانتظام.