使用java监视批处理文件

时间:2012-01-06 18:35:14

标签: java file process batch-file

我正在调用一个调用另一个“jar”的批处理,它将消息发送到服务器并最终编写报告,执行的时间每天都不同,批处理中使用的输入大小会影响到。

我想监视批处理自动关闭的时间,这样我就可以让原来的jar读取日志......

我这样称呼它

    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

(仅供参考brux0043 =服务器,5873 =端口gcpn-rota =之前输入的文件) (批处理保持打开,使用被叫jar的结尾)

2 个答案:

答案 0 :(得分:1)

只要执行批处理文件,就可以编写带有时间戳的日志。

将此行放入批处理文件

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

这将在批处理文件运行到日志时写入时间戳。此外,在执行批处理文件之前应该有一个名为log的文件。

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

答案 1 :(得分:1)

你应该使用

prog.waitFor()

等待进程完成执行。