محاولة معالجة الملفات باستخدام دفعة. لا إخراج ، لا شيء يحدث
-
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
لمعالجة جميع الملفات في الدليل.
لا تنتمي إلى StackOverflow