2011-07-01 70 views
0

問題是下面的相同代碼正在使用Windows 7的其他計算機上工作。我也使用Windows 7,並且bat文件運行良好。但如果我嘗試從之前編寫的代碼運行此蝙蝠,cmd窗口只會閃爍一次並消失。無法通過Java代碼運行bat文件

s = path + "makeInfomap.bat"; 

try { 
    p = run.exec(s); 
} catch (Exception e) { 
    System.out.println(e); 
    e.printStackTrace(); 
} 

final int exitVal = p.waitFor(); 
+0

如果你打開一個cmd窗口並在命令行運行bat,會發生什麼情況,你會得到一個錯誤嗎? – meggar

+0

它工作正常。沒有錯誤。 – Vladimir

回答

0

我的猜測是java調用它很好,但批處理文件本身運行困難。

嘗試添加'暫停'作爲批處理文件的最後一行,並查看批處理文件的控制檯是否爲您提供了任何可用的信息。

+0

我試過了,它不工作。 bat文件本身工作正常。感謝您的嘗試。 – Vladimir

2

跑步不要走這個鏈接:When Runtime.exec() won't

它會告訴你如何吞噬輸出和錯誤流,並會告訴你如何在做類似的程序時調用操作系統的命令解釋器(雖然它有點過時)。

+0

沒有任何錯誤。相同的程序在其他機器上運行良好。每一個bat文件(甚至簡單的回聲smth暫停)至極,我從java運行不起作用 - DOS窗口閃爍一次,就這些。感謝您的鏈接! – Vladimir