如何将值从子进程传递到父cmd.exe shell?

发布于 2024-10-06 00:57:41 字数 156 浏览 0 评论 0原文

我有一个运行子进程的 Windows cmd.exe 脚本,需要收集子进程的输出以设置三个变量。子进程执行一些工作,并打印出三个值。

如何对父级进行编码以收集子级打印的值?

我可以对执行此操作所需的子进程进行任何修改,但父脚本必须编写为 cmd.exe 批处理文件。

I have a windows cmd.exe script that runs a child process and needs to collect the output from the child to set three variables. The child process does some work, and prints out three values.

How do I code the parent to collect the values printed out by child ?

I can make any amendments to the child process needed to do this, but the parent script must be written as a cmd.exe batch file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Bonjour°[大白 2024-10-13 00:57:41

子进程设置环境变量是否可以接受?父进程应该能够接收到它。

无论

set VAR1=123
set VAR2=321

您使用什么

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

语言,您都可以从子程序/脚本中设置环境变量 - 有多种方法可以从中设置环境变量。

Is it acceptable that child process set environment variables? parent process should be able to pick that up.

child.bat

set VAR1=123
set VAR2=321

parent.bat

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

You can set environment variable from child program/script whatever language you are using - there are ways to set environment variables from them.

⊕婉儿 2024-10-13 00:57:41

mr.b 的答案恰好是正确的,因为两个批处理脚本都在同一个 cmd.exe 进程中运行。实际上,子进程无法写入父进程的环境变量。尝试其他 IPC 方法。

The answer from mr.b happens to be correct is because, both batch script are running in the same cmd.exe process. Actually, child process could not write environment variables of parent process. Try other IPC methods.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文