2012-04-20 103 views
0

我想用JAVA運行批處理文件。將批處理文件輸出到文件

我想記錄批處理命令的輸出到一個文件,也隱藏cmd控制檯。

批處理文件工作正常,但與Java它既不記錄正確也不隱藏控制檯。

批處理文件 「Ftp.bat」 內容:

ftp -s:FtpCommands.txt >> Output.log 
exit 

在此先感謝。

+1

向我們展示你的代碼,怎麼辦你打電話給批處理文件? – 2012-04-20 07:41:29

回答

0

看看在ProcessBuilder API,

ProcessBuilder pb = new ProcessBuilder("batchfile.bat", "arg1", "arg2"); 
Process p = pb.start(); 
... 
p.destroy(); 

不要忘記捕獲任何異常,並捕獲運行時p.destroy()

參見如何監聽從批處理文件

輸出 this問題
+0

您是否意外地將您的答案發布在錯誤的問題上? – rob 2012-04-20 07:56:00

+0

不,我認爲ProcessBuilder非常適合這些類型的問題。 – Theodor 2012-04-20 07:59:09

+0

但問題的關鍵在於如何處理流程的輸出。 'ProcessBuilder' API如何使它更容易? – 2012-04-20 09:19:05

0

首先確保你有VBScript然後試試這個:

launch.bat

CD /D %~dp0 
wscript.exe "%CD%\invisible.vbs" "%CD%\process.bat" 

invisible.vbs

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False 

process.bat

[whatever you want to do] [perimeters] >> output.log >2>&1 

這將無形中啓動它,記錄它的任何錯誤,以及

相關問題