批处理文件:延迟执行启动而不暂停脚本的其余部分

batch file : execute start with a delay without pausing the rest of the script

我制作了一个批处理文件,需要在本地主机上打开浏览器并启动一个 java 程序。

目前的简化版本是:

start "" http://localhost
java -start_java_program

这工作正常,但浏览器现在已经在 java 完成启动本地服务器之前启动。所以你得到一个未找到的页面。

我无法在 java 命令之后执行 start 命令,因为 java 一直从 .bat 文件执行。

理想情况下,我希望调用 start 时延迟 5 秒,并且仍然继续执行脚本并调用 java。所以睡眠和超时​​之类的东西对我不起作用,因为 java 不会比

更好地启动

有人知道这样做的方法吗?

谢谢!

如果您使用 "start" 它将启动一个新命令 window

例如

start java -start_java_program

然后您可以等待所需的时间 例如,

timeout /T 10

等待 10 秒

然后启动浏览器

start "" delayedstart.bat 10 http://localhost

其中delayedstart.bat

@echo off
setlocal
timeout /t %1 >nul
start "" %2

我没试过,但应该可以...

这基本上是 ,但没有额外的批处理文件。我还将 /B 选项添加到初始 START 命令 - 不需要出现第二个控制台。

@echo off
start "" /b cmd /c "timeout /nobreak 10 >nul & start "" http://localhost"
echo java -start_java_program