延迟批处理文件的运行

时间:2009-02-26 05:33:23

标签: java

我之前问过这个问题。 我有以下要求。

  1. 运行批处理文件。
  2. 花一些时间来运行批处理文件。 3.关闭批处理文件
  3. 我有以下不符合要求的代码。请告诉我我在哪里犯了错误

            Runtime rt = Runtime.getRuntime();
            Process pr = rt.exec(command);
           //pr.exitValue();
            //wait(10000);
            pr.waitFor();
            pr.destroy();
    

    我使用的waitFor不起作用。我可以在执行批处理文件后延迟大约15分钟

    由于

4 个答案:

答案 0 :(得分:1)

如果您没有从批处理过程中读取stdIO的线程,则批处理过程可能会阻塞。即使你不感兴趣,你仍然需要阅读并丢弃它。然后你的等待有一个更好的工作变化。

答案 1 :(得分:0)

建议:获取输出和错误流并查看它们打印出来的内容。您可能会发现批处理文件发生错误,导致它比您预期的更早返回。

答案 2 :(得分:0)

我不确定你想要什么,但是

的Thread.sleep(900000);

你可以等15分钟。

答案 3 :(得分:0)

你的问题没有提到延迟Java。您暗示在Java程序执行后延迟应该在批处理文件中。因此,您可以将其配置为任何时间。这是一个20秒的例子:

@ECHO off
REM.-- End of application
:: do something here
GOTO :END
:: you could put functions here
:END
FOR /l %%a in (20,-1,1) do (TITLE %title% -- closing in %%as&ping -n 2 -w 1 127.0.0.1>NUL)
TITLE Press any key to close the application&ECHO.&GOTO:EOF
PAUSE>nul