محاولة معالجة الملفات باستخدام دفعة. لا إخراج ، لا شيء يحدث

StackOverflow https://stackoverflow.com/questions/3462496

  •  27-09-2019
  •  | 
  •  

سؤال

أحاول تمرير الملفات واحدة تلو الأخرى (يجب أن أتعامل مع ذلك منذ أن تقبل تطبيق واحد فقط في وقت واحد). لذا ، في مجموعتي لدي follwoing:

FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file 

يجب أن أرى الملفات في نفس الدليل ولكن لا يحدث شيء ، لا يتم عرض أي أخطاء أيضًا. نسيت شيئا ما هنا؟

هل كانت مفيدة؟

المحلول

لديك العديد من الأخطاء في مثالك:

  • FOR اسم المعلمة هو حرف واحد فقط
  • CALL يستخدم لاستدعاء ملف دفعة أخرى أو روتين فرعي في ملف الدُفعات الحالية ، وليس التنفيذيين
  • ال FOR يجب الرجوع إلى المعلمة بنسبة 2 ٪ ، عندما تكون في ملف الدُفعات
  • تحتاج إلى استخدام محدد غير مساح ، إذا كان الدليل الذي تقوم بتشغيله هذا الأمر أو أي دليل فرعي ، أو إذا كان لدى أي من الملفات مساحة في الاسم

مع وضع هذه في الاعتبار ، إليك الأمر الصحيح الذي يجب أن تستخدمه:

for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f"

هنا إجابتي إلى سؤال مماثل ، حيث أعطي المزيد من التفاصيل حول استخدام FOR لمعالجة جميع الملفات في الدليل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top