2012-09-03 81 views
-1

Uff ...試圖谷歌,但沒有結果。如何使用Java中的命令字符串運行cmd.exe?

大家好。我需要通過CMD.EXE從Java PROGRAMM(JavaScript語法)運行下一個命令:

「/ C CD C:\ PRB & & Processing.bat C:\ PRB ext.dat汽車」

這意味着我需要將當前目錄更改爲c:\ prb,寫入「Processing.bat c:\ prb ext.dat auto」,然後按Enter鍵。

我的Java代碼是:

String command = "cmd /c start cmd.exe /K cd c:\\prb Processing.bat c:\\prb prb ext.dat auto"; 
Process pr = Runtime.getRuntime().exec(command); 
pr.waitFor(); 

,但它不工作。我想我錯過了命令行中「c:\ prb」和「Processing.bat」之間的一些代碼。

有人能幫助我嗎?

回答

0

我至少可以看到一個錯誤:路徑c:\\prb Processing.bat包含空格,因此必須用引號引起來:

"cmd /c start cmd.exe /K cd \"c:\\prb Processing.bat\" c:\\prb prb ext.dat auto"

我不知道c:\\prb prb ext.dat。它是一個路徑還是兩個單獨的參數?如果這是一個參數,也可以引用它。

+0

是的,這是我的錯誤。 cjrrect:「c:\\ prb ext.dat」但現在我錯了:文件名,目錄名或卷標語法不正確。 C:\ Documents and Settings \ DT \ workspace \ PPM> – May12

0

這次我會從我的記憶中寫出一個應對,我已經像8年前一樣使用:) 你想要解決的是什麼是不可能的,不是那個恰當的詞,而是:你想要發射cmd與指定的工作目錄相比,啓動一個bat文件。

我記得:
啓動的蝙蝠,但給一個參數,其他工作目錄

或者: 啓動CMD(1個過程) 給出一個參數去執行更改目錄 給另一參數去執行bat文件。全部來自Java,它更復雜。

如何做到這是另一個問題。

這裏應該是什麼樣,如果你沒有指定工作目錄的命令:

字符串命令= 「CMD/C \」 C:\ PRB \ Processing.bat \ 「」;

如果您需要,不要忘記更改工作目錄。 8年前我做了,對不起,如果我搶劫你的時間,只想幫助

相關問題