我正在尋找通過命令行執行外部程序,但我發現我只能夠這樣做,如果程序存在於我稱之爲目錄的目錄中從。我希望能夠從任何目錄執行該程序。Java:執行一個外部程序&路徑變量
我已經爲windows(7)設置了Path變量,並且能夠通過命令行手動從任何目錄執行程序;但是我無法通過Java來實現。
相關代碼:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(new String[]{"C:\\AutomateKPI\\GetLog.exe", "-e", rossIP});
我的問題是,上述程序的輸出產生一個一般文件名爲「log.txt的」。這在線程程序時會導致問題。如果不可能使用路徑變量,或者我可以將程序複製到新目錄中,然後刪除它。我想避免這樣做。
編輯:上面的代碼作爲GetLog.exe駐留在C:\ AutomateKPI中。我想引用%PATH%,所以我可以從C:\ AutomateKPI \ * NewDir *
什麼是你的錯誤,也是目錄c:\ automateKPI中的GetLog.exe? – 2012-08-09 14:14:26
我沒有收到錯誤信息,但我希望對我的程序進行編程並在各種目錄中執行GetLog.exe。 C:\ AutomateKPI \ * NEWDIR * \ GetLog.exe 而不復制GetLog.exe到新創建的目錄 – Yabo9797 2012-08-09 14:20:32
是的,你的問題是,你所提供的是完整路徑getlog.exe,它不存在中那條路。您需要在其實際路徑中執行getlog.exe,然後提供一個工作目錄。 – 2012-08-09 18:31:05