2010-05-12 4 views
0

배치 파일 인 'buildAll.bat'이 프로젝트 세트를 구성합니다. 다른 배치 파일 'manager.bat'에 의해 호출됩니다. 'buildAll.bat'작업은 다른 창에서 실행되고 많은 텍스트를 출력합니다. 빌드 작업의 진행률을 원래 창 ('manager.bat')에 표시하려면 다음과 같이하십시오.병렬 배치 파일 간 통신

건물 프로젝트 1 ... 완료. 건물 프로젝트 2 ... 완료되었습니다. 건물 프로젝트 3 ... 완료되었습니다. ... 빌드가 완료되었습니다.

빌드 진행 상황을 두 작업간에 어떻게 전달할 수 있습니까?

+0

CMD.EXE에서 PowerShell로 업그레이드하는 것이 좋습니다. 이 종류의 일은이 세기를 만든 스크립팅 환경을 사용하는 경우 훨씬 쉽게됩니다. –

+0

@ 존 : PowerShell을 사용하면 훨씬 쉽지는 않습니다. – Joey

답변

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 
... 

프로젝트가 등등 구축하고 무엇에 대한 정보를 릴레이로

... 
<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. 
... 

는 물론, 이것은 훨씬 더 강력 할 수 manager.cmd 매니저. 그러나 원칙적으로 그것은 쉽게 가능합니다.