Запуск нескольких консольных приложений из командного файла - PullRequest
12 голосов
/ 06 февраля 2012

Я пытаюсь запустить некоторые файлы .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

(я включил таймаут, чтобы немного разложить начальную обработку)

Есть ли способ получить файл сценария для запуска первого приложения, а затем перейти к другим и запустить другие?

В идеале я хотел бы, чтобы файл сценария запускал все приложения в подкаталоге, чтобы при наличии Debug\Applications\*.exe или аналогичного он запускал все приложения типа .exe (и, возможно, ожидал 5 секунд между каждым). Это возможно?

Ответы [ 2 ]

25 голосов
/ 06 февраля 2012

Вы можете запускать приложения в фоновом режиме, используя start:

start "C:\Development\App\bin\Debug1\Application.exe"

Используйте start /? из командного окна для получения дополнительной информации.

Например,

start dir

откроет новое командное окно и покажет вам список каталогов, оставив его открытым после завершения.

The:

start cmd /c "ping 127.0.0.1 && exit"
Команда

откроет новое окно, запустит четырехтактный пинг на localhost и завершится.

В обоих случаях текущее окно будет ожидать следующей команды немедленно.

7 голосов
/ 06 февраля 2012
@echo off
for %%F in ("Debug\Applications\*.exe") do (
  start "" "%%F"
  timeout 5
)
...