執行批處理文件,我調用使用此無法用java
rt.exec(new String[]{"cmd.exe","/C","start", "/MIN","build.bat"});
此行的build.bat文件後,關閉命令提示符打開命令提示符。構建成功,但窗口仍然打開。 如何關閉它? 嘗試銷燬進程和其他System.ext方法。沒有用
執行批處理文件,我調用使用此無法用java
rt.exec(new String[]{"cmd.exe","/C","start", "/MIN","build.bat"});
此行的build.bat文件後,關閉命令提示符打開命令提示符。構建成功,但窗口仍然打開。 如何關閉它? 嘗試銷燬進程和其他System.ext方法。沒有用
你不應該在你的論點中使用start /MIN
。你試過這個嗎?
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
在bat文件的末尾添加exit
,也無需添加cmd
未來可以直接執行蝙蝠
我嘗試在bat文件的末尾添加exit。沒有幫助。我如何在不使用'cmd'選項的情況下調用bat文件。 –
只是直接'rt.exec(新的String [] { 「C:\\路徑\\的build.bat」});' –
@JigarJoshi我的批處理文件doensn't關閉命令提示窗口時java應用拋出exception.I有最後加入退出。 – happy
writer.write("expdp greenbuds/greenbuds directory=backup dumpfile="+dd+".dump logfile="+dd+".log");
writer.newLine();
writer.write("Exit");
歡迎來到Stack Overflow!你會考慮增加一些敘述來解釋爲什麼這段代碼有效嗎?是什麼使它成爲這個問題的答案?這對詢問問題的人以及任何其他人來說非常有幫助。 –
這是一個fix I found on StackOverflow,用於在使用批處理文件執行程序後關閉命令提示符。
相反的:啓動 「一些程序路徑」
做到這一點:啓動 「」 「一些程序路徑」 在Windows XP下
爲我工作。
我剛開始在這裏的SO,所以無法給予好評@Franci佩諾夫的答案是正確的:
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
或簡單地說,
rt.exec("cmd.exe /C build.bat");
不應該打開命令提示符。 build.bat
將無頭執行。
假設你想打開一個命令提示符,而build.bat
是運行(這樣你就可以看到正確的從命令提示符,而不是稍後處理它的輸出),並希望在命令提示符build.bat
後消失已經完成執行,則可以使用以下:
rt.exec("cmd.exe /C start cmd.exe /C batch.bat");
的start
啓動(可見的)命令提示符窗口處理和顯示的cmd.exe /C batch.bat
輸出。如果在batch.bat
的末尾有pause
,那麼只需按下一個鍵,命令提示符就會消失,無需在提示窗口鍵入exit
以關閉它。
這可能不是你所需要的,但我一直在搜索,但後來發現自己的解決方案。只是爲了分享它。
非常感謝你!在20個選項卡打開並工作幾小時後,您的答案的第二部分就是我需要的解決方案!非常感謝!! – Hamsterrific
我試過了。使用此選項不會執行構建。 –
嗯,有趣。如果是這樣的話,我懷疑這是你的bat文件。 'START'基本上會產生一個新的cmd.exe進程(不會退出的進程),'/ C'會退出你產生的進程。您可以嘗試在批處理文件中添加一些日誌記錄,並查看它到底有多遠。 –