Как передать значения из дочернего процесса в родительскую оболочку cmd.exe? - PullRequest
2 голосов
/ 02 декабря 2010

У меня есть сценарий windows cmd.exe, который запускает дочерний процесс и должен собрать выходные данные дочернего процесса для установки трех переменных. Дочерний процесс выполняет некоторую работу и выводит три значения.

Как мне написать код родителя для сбора значений, распечатанных потомком?

Я могу внести любые изменения в дочерний процесс, необходимые для этого, но родительский скрипт должен быть записан в виде командного файла cmd.exe.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

Ответ от mr.b оказался правильным, потому что оба пакетных скрипта выполняются в одном и том же процессе cmd.exe. На самом деле, дочерний процесс не может записывать переменные окружения родительского процесса. Попробуйте другие методы IPC.

2 голосов
/ 02 декабря 2010

Допустимо ли, чтобы дочерний процесс устанавливал переменные среды? родительский процесс должен быть в состоянии это понять.

child.bat

set VAR1=123
set VAR2=321

parent.bat

echo %VAR1%
echo %VAR2%
call child.bat
echo %VAR1%
echo %VAR2%

Вы можете установить переменную среды из дочерней программы / скрипта на любом языке, который вы используете - есть способы установить переменные среды из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...