2012-01-06 138 views
2

我正在调用一个批处理,它调用另一个向服务器发送消息并最终写入报告的“jar”,执行时间每天都不一样,而且大小批量中使用的输入影响到。使用java监控批处理文件

我想监视当批量自动关闭,所以我可以做我原来的罐子读取日志...

我打电话像这样

Process prog = Runtime.getRuntime().exec("cmd /c start C:\\chamados\\corretorRota\\VerificarNumero.bat"); 

和批处理:

cd C:\chamados\corretorRota 
java -jar BatchDispatcher.jar brux0043 5873 gcpn-rota.txt > resultado.txt 
exit 

(FYI brux0043 =服务器,5873 =端口gcpn-轮状病毒=输入文件先前所著) (批次保持打开util的被叫罐子的端部)

+2

不应该prog.waitFor()在这里为你工作? – Danny 2012-01-06 18:39:42

+0

@Danny在答案中写下这个来获得rep点数。 – 2012-01-06 19:00:23

回答

1

无论何时执行批处理文件,您都可以使用时间戳记写入日志。

把这个线在批处理文件

echo. |time |find "current" >> log 

这个然后将写入时间戳时该批处理文件已运行到日志中。另外,在执行批处理文件之前,应该有一个称为日志的文件。

现在你的java程序可以监视日志,并知道批处理文件执行的次数和时间。

1

您应该使用

prog.waitFor() 

等待进程结束执行。