并行批处理文件之间的通信

时间:2010-05-12 10:22:20

标签: batch-file batch-processing

我有一个批处理文件'buildAll.bat',它构建了一组项目。它将由另一个批处理文件'manager.bat'调用。 'buildAll.bat'作业在另一个窗口中执行并输出大量文本。 我希望构建作业的进度显示在原始窗口('manager.bat')中,如下所示:

建设项目1 ......完成。 建设项目2 ......完成。 建设项目3 ......完成。 ... 构建完成。

如何在两个工作之间传达构建进度?

1 个答案:

答案 0 :(得分: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.
...

当然,通过将有关项目构建的信息等转发给经理,可以使这更加强大。但原则上它很容易实现。