我有一个简单的批处理文件,它调用其他批处理文件,它看起来像这样:
start /b run_part1.bat
start /b run_part2.bat
start /b run_part3.bat
start /b run_part4.bat
run_last.bat // fires immediately, how to make this line wait until above finishes?
使用 /b 前 4 个文件将同时运行。全部将在 1.5 小时内完成。
在所有四个文件完成后,我需要另一个脚本来进行一些清理。但是 run_last.bat 不会等待前 4 个文件,它会与前 4 个文件同时调用。
有没有办法实现它?
谢谢你。
停止使用过时的命令提示符并使用 Powershell。您可以使用ThreadJob 模块,如关于 SO 的出色答案中所述:
你可以使用 CALL ,它从另一个浴文件中调用一个浴文件
欲了解更多信息,请查看https://www.robvanderwoude.com/call.php
批处理文件没有内置任何东西来处理这个问题。
完成后,您可以修改 4 个批处理文件以创建标志文件。然后在主批处理文件中,运行一个循环来查找标志文件,并
timeout /t 10
在循环中调用以减慢检查速度。