Невозможно запустить несколько программ из командного файла

Я пытаюсь создать командный файл, который запускал бы несколько программ. Но, к сожалению, ничего не получается.

Пожалуйста, найдите ниже мое требование:

  1. Откройте сервер InfluxDB
  2. Запустите приложение Grafana.

Команды, используемые в пакете:

@echo off
cd "C:\Users\C51539A\Downloads\influxdb-1.5.2-1"
Start.cmd
timeout 5
cd "C:\Users\C51539A\Downloads\grafana-5.1.3\bin"
grafana-server.exe

Приведенный выше скрипт запускает InfluxDB. Но дальше не идет.

Не могли бы вы посоветовать мне, как действовать дальше?

1
0
137
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
@echo off
cd "C:\Users\C51539A\Downloads\influxdb-1.5.2-1"
start InfluxDB
ping -n 6 127.0.0.1 > nul
cd "C:\Users\C51539A\Downloads\grafana-5.1.3\bin"
start grafana-server

Измените "start InfluxDB" и "start grafana-server", чтобы они были правильными именами exe, без .exe

Спасибо большое, Лука !! Ценю твою поддержку.

Ajith Raman 10.08.2018 17:47

Вам необходимо использовать ключевое слово call, чтобы управление возвращалось вызывающей стороне после вызова другого пакетного сценария:

@echo off
cd "C:\Users\C51539A\Downloads\influxdb-1.5.2-1"
call start.cmd
...

Если start.cmd запускает InfluxDB синхронно (т.е.не в фоновом режиме), вам необходимо запустить его в отдельном окне:

@echo off
cd "C:\Users\C51539A\Downloads\influxdb-1.5.2-1"
start "InfluxDB" cmd /c start.cmd
...

Спасибо за ответ.

Ajith Raman 10.08.2018 18:36

Под «синхронно», я думаю, вы имели в виду параллельное выполнение. В противном случае start выполняет переданную команду А синхронно. (неблокирующая процедура).

sst 11.08.2018 00:49

@sst Я имел в виду именно то, что написал. startкоманда потребуется для асинхронного запуска start.cmdкомандный файл, только если пакетный файл запускает InfluxDB синхронно (возвращая только после InfluxDB завершается).

Ansgar Wiechers 11.08.2018 00:59

Я вижу, мои глаза просто перепрыгнули через .cmd в start.cmd и прочитали его как start, поэтому я подумал, что вы имеете в виду поведение команды start. Моя ошибка, извините.

sst 11.08.2018 01:22

Другие вопросы по теме