2010-11-22 80 views
2

我試圖從Java程序執行osql命令來恢復數據庫,如下所示。Runtime.getRuntime()。exec - 執行osql查詢

public void restore(){ 

Runtime.getRuntime().exec("cmd /c start osql -S PC-NAME -U username -P password -i createdb.sql 
} 

當我調用方法進行還原,所述命令提示被打開,OSQL被執行,然後命令提示變得不可見。

請問我是否有辦法阻止命令提示符關閉?

感謝您的幫助

回答

1

寫你的命令osql ...成bat文件,把pause爲bat文件的最後一行,並從你的代碼運行的蝙蝠。

+0

非常感謝您的快速回復。它適用於批處理文件。當我們直接從Java代碼執行時,不可能保留命令提示符嗎? – NewBie 2010-11-22 14:45:20

0
public static void main(String[] args) throws Exception { 
    Runtime.getRuntime().exec("cmd /c start dir"); 
} 

並且這不會關閉生成的命令行。

從這個鏈接http://ss64.com/nt/cmd.html

Options 
    /C  Carries out My_Command and then terminates 
    /K  Carries out My_Command but remains 

你可以嘗試/ K,而不是/ C,讓知道結果是什麼?

另外,您應該先從批處理文件嘗試此操作,然後再從Java嘗試它。

相關問題