你會認爲,發動從Java一個bat文件將是一件容易的事,但沒有...我有一個bat文件,做了值的環從一個文本文件中讀取一些SQL命令。它或多或少是這樣的:運行bat文件,並等待
FOR /F %%x in (%CD%\listOfThings.txt) do sqlcmd -Slocalhost\MSSQL %1 %2 -d %3 -i %CD%\SQLScripts\\%%x
exit
不要擔心他們不重要的細節。我要的是簡單地從內部的Java運行這個批處理文件,並把它等到執行完畢。顯然這並不容易。我到目前爲止是這樣的:
Runtime.getRuntime().exec("cmd /K start SQLScriptsToRun.bat"
+" -U"+getUser()
+" -P"+getPass()
+" " + projectName);
return true;
問題是exec()方法立即返回。該bat文件運行了2-3分鐘。我嘗試刪除開始,但無濟於事。我嘗試了很多變化,但它讓我無處可尋。關於如何做這個簡單任務的任何想法?
感謝它wworked但mmyers 2秒打你舉了一個例子:P +1雖然 – 2010-03-12 16:35:12
@Savvas:其實他的24秒打我,但也許這是因爲該示例的... :) :) – 2010-03-12 16:45:55
我希望我可以給你2+則:P – 2010-03-12 19:51:38