2011-09-03 195 views
4

我在一個批處理文件以下命令:非阻塞批處理文件執行

"C:\MI2\Stream\bin\Debug\Stream.exe" 19 
"C:\MI2\Stream\bin\Debug\Stream.exe" 20 
"C:\MI2\Stream\bin\Debug\Stream.exe" 21 
"C:\MI2\Stream\bin\Debug\Stream.exe" 23 
"C:\MI2\Stream\bin\Debug\Stream.exe" 25 

我試圖執行我創建的應用程序的5個實例,通過在不同的PARAM每個。我的目標是當我運行這個批處理文件時,它會啓動這個應用程序的5個實例,爲每個應用程序加載一個UI組件。最終,我會讓這更優雅,並在這個周圍放置一個包裝應用程序,但現在我只是想讓它們同時運行。

問題是,當我啓動這個批處理文件時,它會執行第一行,加載UI。而已。它不會移動到第二行。思考?

編輯添加 - 我當然可以從單獨的批處理文件做到這一點,但我希望有一鍵啓動。 斯科特

回答

15

您可以使用start

start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 19 
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 20 
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 21 
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 23 
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 25 

第一個參數是創建的命令行窗口的標題,我們不關心它,所以它可以留空。

更妙的是使用for

forr %i in (19, 20, 21, 23, 25) do start "" "C:\MI2\Stream\bin\Debug\Stream.exe" %i 
+1

第一組引號可能有點令人困惑,它們是爲了在Windows標題欄中顯示標題,如果包含引號(例如,包含空格),那麼解析器將需要一個標題(這是空白的是svick的答案)如果你的路徑不需要引號,那麼你不需要設置標題。在命令提示符下鍵入start /?獲取更多詳細信息。 – AlainD

2

start C:\MI2\Stream\bin\Debug\Stream.exe 19 
start C:\MI2\Stream\bin\Debug\Stream.exe 20 

+0

似乎也沒有工作對我來說,它開始'cmd.exe'兩次。 – svick

+0

我刪除了可能使它感到困惑的「」。 –

+0

這不是問題,至少在我的電腦上。 – svick

2

用起動:

start C:\MI2\Stream\bin\Debug\Stream.exe 19 
start C:\MI2\Stream\bin\Debug\Stream.exe 20 
start C:\MI2\Stream\bin\Debug\Stream.exe 21 
start C:\MI2\Stream\bin\Debug\Stream.exe 23 
start C:\MI2\Stream\bin\Debug\Stream.exe 25 
+0

而且這似乎也沒有工作。 – svick

+0

以什麼方式?這與我剛剛包括開關以停止打開新窗口的其他解決方案完全相同。 – TheCodeKing

+0

當你在'''中放置路徑時,它被視爲窗口標題,而不是要執行的路徑。 – svick