我有一个批处理文件“buildAll.bat”,它构建了一组项目。它将被另一个批处理文件“manager.bat”调用。“buildAll.bat”作业在另一个窗口中执行并输出大量文本。我希望构建作业的进度显示在原始窗口('manager.bat')中,如下所示:
建设项目 1...完成。建设项目 2...完成。建设项目3...完成。...构建完成。
如何在两个作业之间传达构建进度?
我有一个批处理文件“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
...
管理员.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.
...
当然,这可以通过将有关已构建项目的信息等信息传递给经理来变得更加强大。但原则上这很容易实现。