Запуск нескольких консольных приложений из пакетного файла
Я пытаюсь запустить некоторые консольные приложения .exe файлы из пакетного файла в Windows.
Однако, когда я запускаю следующий код, он запускает только первое из приложений:
"C:\Development\App\bin\Debug1\Application.exe"
timeout 5
"C:\Development\App\bin\Debug2\Application.exe"
timeout 5
"C:\Development\App\bin\Debug3\Application.exe"
timeout 5
"C:\Development\App\bin\Debug4\Application.exe"
timeout 5
"C:\Development\App\bin\Debug5\Application.exe"
timeout 5
(я включил тайм-аут, чтобы немного рассчитать внутреннюю обработку)
Есть ли способ получить файл script для запуска первого приложения, а затем перейти и запустить остальные?
В идеале я хотел бы, чтобы файл script запускал все приложения в подкаталоге, так что если бы у меня было Debug\Applications\*.exe
или подобное, оно запустило бы все приложения типа .exe(и, возможно, ожидало бы 5 секунд между ними). Возможно ли это?
Ответы
Ответ 1
Вы можете запускать приложения в фоновом режиме с помощью start
:
start "C:\Development\App\bin\Debug1\Application.exe"
Используйте start /?
в окне команд, чтобы получить дополнительные сведения.
Например,
start dir
откроет новое командное окно и покажет вам список каталогов, оставив его открытым при завершении.
:
start cmd /c "ping 127.0.0.1 && exit"
Команда откроет новое окно, запустит четырехтактный пинг на локальном хосте, а затем выйдет.
В обоих случаях текущее окно будет немедленно ждать следующей команды.
Ответ 2
@echo off
for %%F in ("Debug\Applications\*.exe") do (
start "" "%%F"
timeout 5
)