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

Привет я использую windows 7 64bit

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

@echo off
call "C:Program Files (x86)LOLReplayLOLRecorder.exe"
call "G:League of Legendslol.launcher.exe"
exit

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

EDIT:

с командой start он просто запускает 2 терминала окна и ничего не начинается!

@echo off
start "C:Program Files (x86)LOLReplayLOLRecorder.exe"
start "G:League of Legendslol.launcher.exe"
exit

4 ответов


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

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

вы можете обойти это, используя короткие имена 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

для запуска требуются параметры заголовка окна. Пытаться: запустить "Lolrecorder" C:\Program файлы (x86)\LOLReplay\LOLRecorder.исполняемый" запуск "LoL-Launcher" "G:\League из легенд\lol.пусковая установка.EXE-файл"

Это даст cmd-windows, запущенный запуском названия "Lolrecorder " и"LoL-Launcher"


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

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

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


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