Связь между параллельными пакетными файлами

StackOverflow https://stackoverflow.com/questions/2817851

  •  26-09-2019
  •  | 
  •  

Вопрос

У меня есть пакетный файл, «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
...

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

Конечно, это может быть сделано гораздо более мощным путем ретрансляции информации о том, какие проекты построены и так далее для менеджера. Но в принципе это легко возможно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top