2010-05-12 47 views
0

我有一個批處理文件'buildAll.bat',它構建了一組項目。它將被另一個批處理文件'manager.bat'調用。 'buildAll.bat'作業在另一個窗口中執行並輸出大量文本。 我想要在原始窗口('manager.bat')中顯示構建作業的進度,如下所示:並行批處理文件之間的通信

構建項目1 ...完成。 建設項目2 ...完成。 建設項目3 ...完成。 ... 構建完成。

如何在兩個工作之間傳達構建過程?例如,

+0

您可能會考慮從CMD.EXE升級到PowerShell。如果您使用本世紀創建的腳本環境,這種事情會變得更加容易。 – 2010-05-12 19:32:32

+0

@John:實際上,我認爲使用PowerShell並不容易。 – Joey 2010-05-13 09:52:01

回答

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

當然,這可以更加強大製作管理者。但原則上很容易。