Как запустить 2 программы одновременно в командной строке Windows

Я использую Windows 7 64bit

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

@echo off
call "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe"
call "G:\League of Legends\lol.launcher.exe"
exit

Но до тех пор, пока я не закрою LOLRecorder.exe, он не запустит мой lol.launcher.exe.... в основном я хочу, чтобы и запуск, и приглашение cmd завершались после их запуска. Что здесь не так? Я проверил другой ответ stackoverflow Здесь, но это относится к тому же методу, который я использую.

РЕДАКТИРОВАТЬ:

С помощью команды запуска он просто запускает 2 окна терминала и ничего не запускается!

@echo off
start "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe"
start "G:\League of Legends\lol.launcher.exe"
exit

Ответ 1

С помощью команды start запускается только 2 окна терминала, и ничего не начинается!

Проблема заключается в кавычках (которые, к сожалению, требуются из-за пробелов на путях). Команда start, похоже, не нравится.

Вы можете обойти это, используя короткие имена DOS для всех каталогов (и удалять кавычки), или указав каталог отдельно и процитировав его (с которым, похоже, может справиться команда start).

Попробуй это:

@echo off
start /d "C:\Program Files (x86)\LOLReplay" LOLRecorder.exe
start /d "G:\League of Legends" lol.launcher.exe

Или, если ваши пакетные файлы становятся более сложными в будущем, или ваши имена программ имеют пробелы в них:

@ECHO OFF

CALL :MainScript
GOTO :EOF

:MainScript
  CALL :RunProgramAsync "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe"
  CALL :RunProgramAsync "G:\League of Legends\lol.launcher.exe"
GOTO :EOF

:RunProgramAsync
  REM ~sI expands the variable to contain short DOS names only
  start %~s1
GOTO :EOF

Ответ 2

start требует параметров для названия окна. Попробуйте: запустите "Lolrecorder" "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe" запустите "Lol-Launcher" "G:\League of Legends\lol.launcher.exe"

Это даст cmd-окна, начатые с начала названия "Lolrecorder" и "Lol-Launcher",

Ответ 3

Укажите заголовок и переключатель /c, чтобы сообщить, что окно STARTed исчезнет после завершения его команды.

start "recorder" /c "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe"
start "LOL" /c "G:\League of Legends\lol.launcher.exe"

Эта ссылка до сих пор отвечала почти на каждый вопрос, который я когда-либо имел о CMD.

Ответ 4

call предназначен только для пакетных файлов, и он ожидает возвращения вызываемого абонента. Вы должны использовать команду start для запуска программ. В качестве дополнительного бонуса вы можете указать приоритет для процесса. Если вам нужно запустить что-то в качестве другого пользователя, используйте runas.