2011-06-27 33 views
9

你好我使用Windows 7 64位如何同時放2個開始在程序Windows命令提示符

這裏是代碼片段我使用開始

@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答案Here但它指的是我使用的相同的方法。

編輯:

隨着啓動命令它只是開始2個終端窗口並沒有開始!

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

回答

18

使用啓動命令它只是啓動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 
1

call僅適用於批處理文件,並等待被調用者返回。您應該使用start命令啓動後臺程序。作爲額外的獎勵,您可以指定流程的優先級。如果您需要以其他用戶身份運行某些內容,請使用runas

+0

我編輯了我的問題。請查看 – footy

+0

@footy:單獨執行兩個命令中的任何一個(沒有'start')是否正確啓動相應的程序,或者您是否可能缺少一些基本的命令行選項? (哦,不需要說「退出」我想。) –

+0

它單獨工作。沒有我必須給出的cmd行參數來啓動這些程序。 – footy

3

開始需要窗口參數標題。 嘗試: 啓動 「Lolrecorder」 「C:\ Program Files文件(x86)的\ LOLReplay \ LOLRecorder.exe」 啓動 「洛爾 - 啓動」 「G:傳奇的\聯賽\ lol.launcher.exe」

這將啓動由開始標題爲「Lolrecorder」和「Lol-Launcher」的cmd-windows

1

指定標題和/ c開關,以指示STARTED窗口在其命令完成後消失。

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

reference迄今已回答幾乎每一個問題我曾經有過關於CMD。

相關問題