等待并行批处理脚本 [英] Waiting for parallel batch scripts
本文介绍了等待并行批处理脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有4个批处理文件。我想一次运行 one.bat
和 two.bat
,兼任。这两个批处理文件,完成three.bat
和 four.bat
之后应该同时运行在平行。我试过许多方法,但电机工作正常。
I have 4 batch files. I want to run one.bat
and two.bat
at once, concurrently. After completion of these two batch files, three.bat
and four.bat
should run at once, in parallel. I tried with many ways but mot works fine.
谁能帮我在这个?
推荐答案
这是很容易使用我提供的壳流程并行执行的。请参阅该解决方案的文件锁定的工作方式进行了说明。
This is easily done using a much simplified version of a solution I provided for Parallel execution of shell processes. Refer to that solution for an explanation of how the file locking works.
@echo off
setlocal
set "lock=%temp%\wait%random%.lock"
:: Launch one and two asynchronously, with stream 9 redirected to a lock file.
:: The lock file will remain locked until the script ends.
start "" cmd /c 9>"%lock%1" one.bat
start "" cmd /c 9>"%lock%2" two.bat
:Wait for both scripts to finish (wait until lock files are no longer locked)
1>nul 2>nul ping /n 2 ::1
for %%N in (1 2) do (
( rem
) 9>"%lock%%%N" || goto :Wait
) 2>nul
::delete the lock files
del "%lock%*"
:: Launch three and four asynchronously
start "" cmd /c three.bat
start "" cmd /c four.bat
这篇关于等待并行批处理脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文