2011-08-30 35 views
4

我已經閱讀了很多關於這個問題的內容,但是我找到的答案完全不起作用。Java:執行/ cmd/c啓動path-with-spaces program.exe

我嘗試運行這段代碼:

String[] args = {"cmd","/c","start","C:\\Program Files\\XML Marker\\xmlmarker.exe"}; 
Runtime rt = Runtime.getRuntime(); 
ProcessBuilder pb = new ProcessBuilder(args); 
Process pr = pb.start();  
//Process pr = rt.exec(args); 

正如我在我的道路空間,我用String數組的參數傳遞給過程 但是......它會打開一個DOS命令窗口,但沒有按「T推出我的節目,彷彿參數,其中,忽略

我試着用rt.exec(參數)和pb.start()...相同的結果

可能有人給我一些建議嗎? 謝謝。

+0

實際上你需要輸入一個空標題:'start,「」,「Path \\ To \\ file」' – Sebastian

+0

什麼是「/ c」? –

回答

4

不需要同時具有「開始」和「cmd」。你可以安全地取出「開始」。如果使用帶「start」命令的引號括起來的參數,則會將其視爲新命令窗口的標題。

+0

謝謝Arun,我刪除了開始參數,它完美的工作! – Hugues

5

嘗試通過插入添加路徑周圍的報價逃脫你的字符串引號,如下所示:

String[] args = {"cmd","/c","start","\"C:\\Program Files\\XML Marker\\xmlmarker.exe\""}; 

通知的\"在路徑字符串的開始和結束。