Pergunta

Eu tenho um arquivo em lote, 'buildall.bat', que cria um conjunto de projetos. Ele será chamado por outro arquivo em lote, 'gerente.bat'. O trabalho 'buildall.bat' é executado em outra janela e produz muito texto. Quero que o progresso do trabalho de construção seja exibido na janela original ('gerente.bat'), assim:

Projeto de construção 1 ... feito. Projeto de construção 2 ... feito. Projeto de construção 3 ... feito. ... construção concluída.

Como o progresso da construção pode ser comunicado entre os dois empregos?

Foi útil?

Solução

Arquivos temporários, por exemplo.

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

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

Obviamente, isso pode ser tornado muito mais poderoso transmitindo informações sobre quais projetos são construídos e assim por diante para o gerente. Mas, em princípio, é facilmente possível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top