我有一个运行子进程并需要收集子进程输出以设置三个变量的Windows cmd.exe脚本。子进程执行一些操作,并打印出三个值。
如何编写父进程以收集子进程打印的值?
我可以对子进程进行任何修改来实现此目的,但父进程脚本必须编写为cmd.exe批处理文件。
我有一个运行子进程并需要收集子进程输出以设置三个变量的Windows cmd.exe脚本。子进程执行一些操作,并打印出三个值。
如何编写父进程以收集子进程打印的值?
我可以对子进程进行任何修改来实现此目的,但父进程脚本必须编写为cmd.exe批处理文件。
子进程设置环境变量是否可接受?父进程应该能够获取这些变量。
child.bat
set VAR1=123
set VAR2=321
parent.bat
echo %VAR1%
echo %VAR2%
call child.bat
echo %VAR1%
echo %VAR2%
无论使用哪种语言的子程序/脚本,您都可以设置环境变量 - 有多种方法可以从它们中设置环境变量。
mr.b
的答案是正确的,因为这两个批处理脚本都在同一个 cmd.exe 进程中运行。实际上,子进程无法写入父进程的环境变量。请尝试其他 IPC 方法。 < /p >