سؤال

لدي ملف دفعي ، "buildall.bat" ، يبني مجموعة من المشاريع. سيتم استدعاؤه بواسطة ملف دفعة أخرى ، "manager.bat". تنفذ وظيفة "buildall.bat" في نافذة أخرى وتخرج الكثير من النص. أريد أن يتم عرض التقدم المحرز في مهمة البناء في النافذة الأصلية ("manager.bat") ، مثل هذا:

بناء مشروع 1 ... تم. بناء مشروع 2 ... تم. بناء مشروع 3 ... تم. ... الإنشاء الانتهاء.

كيف يمكن توصيل تقدم البناء بين الوظيفة؟

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

المحلول

ملفات مؤقتة ، على سبيل المثال.

buildall.cmd

del /Q %TEMP%\Project*Done>nul 2>&1
...
rem build project 1
copy nul %TEMP%\Project1Done >nul
rem build project 2
copy nul %TEMP%\Project2Done >nul
...

Manager.CMD

...
<nul set /p X=Building project 1 ... 
:waitforproject1
if exists %TEMP%\Project1Done goto project1done
ping -n 1 localhost >nul 2>&1
goto waitforproject1
:project1done
echo done.

<nul set /p X=Building project 2 ... 
:waitforproject2
if exists %TEMP%\Project2Done goto project2done
ping -n 1 localhost >nul 2>&1
goto waitforproject2
:project2done
echo done.
...

بالطبع ، يمكن جعل هذا أكثر قوة من خلال نقل المعلومات حول المشاريع التي تم بناؤها وما إلى ذلك إلى المدير. ولكن من حيث المبدأ يمكن بسهولة.

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