Java 为批处理文件的运行提供延迟

Java 为批处理文件的运行提供延迟,java,Java,我以前问过这个问题。 我有以下要求 运行批处理文件 给一些时间运行批处理文件。 3.关闭批处理文件 我有以下不符合要求的代码。请告诉我哪里出了错 Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(command); //pr.exitValue(); //wait(10000); pr.waitFor(); pr.destroy(); 我使

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

  • 运行批处理文件
  • 给一些时间运行批处理文件。 3.关闭批处理文件
  • 我有以下不符合要求的代码。请告诉我哪里出了错

            Runtime rt = Runtime.getRuntime();
            Process pr = rt.exec(command);
           //pr.exitValue();
            //wait(10000);
            pr.waitFor();
            pr.destroy();
    
    我使用了waitFor,但它不起作用。在执行批处理文件后,我如何能给予大约15分钟的延迟


    谢谢

    一个建议:抓取输出和错误流,看看它们打印出了什么。您可能会看到批处理文件出现错误,使其返回的时间比您预期的要早。

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

    睡眠(90万)


    您可以等待15分钟。

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

    您的问题没有提到在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
    
    String command=“cmd/C启动路径运行批处理文件”;Runtime rt=Runtime.getRuntime();进程pr=rt.exec(命令);