التواصل بين ملفات الدُفعات المتوازية
-
26-09-2019 - |
سؤال
لدي ملف دفعي ، "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.
...
بالطبع ، يمكن جعل هذا أكثر قوة من خلال نقل المعلومات حول المشاريع التي تم بناؤها وما إلى ذلك إلى المدير. ولكن من حيث المبدأ يمكن بسهولة.
لا تنتمي إلى StackOverflow