2012-04-20 98 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 

这将无形中启动它,记录它的任何错误,以及

相关问题