Я думаю, что это самый простой и эффективный способ:
@echo off
echo %time%
(
start call batch1.bat
start call batch2.bat
start call batch3.bat
start call batch4.bat
) | set /P "="
echo %time%
В этом методе состояние ожидания в основном файле управляется событиями , поэтому оно не потребляет любое время процессора!
EDIT: Добавлены некоторые пояснения
Команда set /P
прекратится, когда какая-либо из команд в ( block )
выведет линию , но команды start
не показывают строку в этом cmd.exe . Таким образом, set /P
продолжает ждать ввода до тех пор, пока не закончится все процессы, запущенные командами start
. В этот момент линия трубопровода, связанная с ( block )
, закрыта, поэтому set /P
Stdin закрыт, а команда set /P
заканчивается ОС.
Инструменты-> Опции-> Текстовый редактор-> JavaScript