gpt4 book ai didi

windows - 同时执行多个批处理文件并监控其进程是否完成

转载 作者:行者123 更新时间:2023-12-05 00:41:01 25 4
gpt4 key购买 nike

我有一个调用多个批处理文件的主批处理文件。我希望能够同时执行所有这些批处理文件。全部完成后,我需要在主批处理文件中进行进一步的处理。

当我使用“开始”调用多个批处理文件时,我可以同时启动所有批处理文件,但我无法跟踪它们。 (主批处理文件认为他们的进程在执行其他批处理文件的那一刻就完成了)。

当我使用“调用”时,我能够监控批处理文件进程,但它会按顺序而不是同时启动批处理文件。

有没有办法解决这个问题?我在这台 PC 上的权限有限,我正在尝试仅使用 Batch 来完成此操作。

主批处理文件

call first.bat
call second.bat
call third.bat
:: echo only after all batch process done
echo done!

first.bat

timeout /t 10

second.bat

timeout /t 10

第三个.bat

timeout /t 10

最佳答案

这是解决这个问题最简单、最有效的方法:

(
start first.bat
start second.bat
start third.bat
) | pause

echo done!

在这个方法中,主文件中的等待状态是事件驱动,所以它不消耗任何CPU时间。 pause 命令将在 ( block ) 中的任何命令输出字符时终止,但 start 命令不显示任何输出 < em>在这个 cmd.exe 中。这样,pause 会一直等待一个字符,直到所有由 start 命令启动的进程结束。此时与 ( block ) 关联的管道关闭,因此 pause 标准输入关闭,命令由 cmd.exe 终止>.

关于windows - 同时执行多个批处理文件并监控其进程是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43754374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com