【问题标题】:Communication between parallel batch files并行批处理文件之间的通信
【发布时间】:2011-02-18 13:24:08
【问题描述】:

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

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

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

【问题讨论】:

  • 您可以考虑从 CMD.EXE 升级到 PowerShell。如果您使用的是本世纪创建的脚本环境,这种事情会变得容易得多。
  • @John:实际上,我认为使用 PowerShell 并不容易。

标签: batch-file batch-processing


【解决方案1】:

例如临时文件。

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

ma​​nager.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.
...

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2019-09-15
    • 1970-01-01
    相关资源
    最近更新 更多