Batch-File
cmd - 在所有其他並發批處理文件完成後執行批處理文件
我有一個簡單的批處理文件,它呼叫其他批處理文件,它看起來像這樣:
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 的出色答案中所述:
$commands = { ./run_part1.bat }, { ./run_part2.bat }, { ./run_part3.bat }, { ./run_part4.bat } $jobs = $commands | Foreach-Object { Start-ThreadJob $_ } $jobs | Receive-Job -Wait -AutoRemoveJob ./run_last.bat
你可以使用 CALL ,它從另一個浴文件中呼叫一個浴文件
欲了解更多資訊,請查看https://www.robvanderwoude.com/call.php