我只想在win7中使用java代碼運行批處理文件。我可以用代碼運行.exe文件,但是你知道它不適用於批處理。哪裏有問題?你甚至知道cmd.exe不會以該命令開始。但我可以運行其他的exe文件,我試過一些。代碼是這樣的(嘗試和捕捉是):他們都沒有工作!由java運行批處理文件
Runtime.getRuntime().exec("cmd.exe /c demo.bat");
Runtime.getRuntime().exec("demo.bat");
我試圖做的工作,我寫了下面的代碼。它retuened
java.lang.IllegalThreadStateException:process has not exited
at java.lang.ProcessImpl.exitValue(Native Method)
at Test.Asli.main(Asli.java:38)
這是代碼:
try{
Runtime rt = Runtime.getRuntime();
Process proc= rt.exec("C:\\Windows\\System32\\cmd.exe");
int b = proc.exitValue();
// int exitVal = proc.exitValue();
//System.out.println("Process exitValue: " + exitVal);}
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
那真的是你的代碼?它無法編譯。 – Mat
我確定這不是確切的代碼(它有3個),這是如何失敗的?一個錯誤消息,一個例外,....你對'exec執行的'Process'做了什麼? '? –
是的,問題出在哪裏?你得到了什麼?異常?什麼是堆棧跟蹤? –