如何将当前指令转移到另一条指令Microsoft Batch

时间:2015-12-07 18:32:27

标签: windows batch-file microsoft-edge

我写了如下的bat文件代码:

cd\
echo "Message from Admin"
G:
cd G:\Tomcat_7\apache-tomcat-7.0.59\bin
startup
start microsoft-edge:http://localhost:7211/LazyPeople

当我运行此bat文件时,它将运行Tomcat服务器,但HTTP请求不会发送到Microsoft Edge浏览器,因为当启动命令提示符打开时,主命令提示符将关闭。

之后,我尝试修改上述说明,如下所示:

cd\
echo "Message from Admin"
start microsoft-edge:http://localhost:7211/LazyPeople
G:
cd G:\Tomcat_7\apache-tomcat-7.0.59\bin
startup

现在运行服务器和Edge Browser&打开成功。但我正在为http://localhost:7211/LazyPeople获取HTTP 404状态。因为服务器尚未启动。

那么,有没有其他方法可以做到这一点。

感谢。

1 个答案:

答案 0 :(得分:0)

如果startup是批处理文件,即startup.batstartup.cmd,那么您需要使用命令调用或命令处理器继续处理此其他批处理文件而不返回当前批处理文件。

举例说明:

<强> First.bat

@echo off
echo %~nx0 is started and CALLS now Second.bat.
call Second.bat
echo %~nx0 is running and RUNS now Second.bat.
Second.bat
echo %~nx0 is not further processed. This line is never output.

<强> Second.bat

echo %~nx0 is running now.

运行 First.bat 时的输出是:

First.bat is started and CALLS now Second.bat.
Second.bat is running now.
First.bat is running and RUNS now Second.bat.
Second.bat is running now.

因此,不再处理调用Second.bat First.bat 中的最后一行。

如果被调用的批处理文件包含没有选项/B的命令退出,则使用调用时也不会返回父批处理文件。在命令提示符窗口exit /?中运行,以获取包含和不包含参数/B退出行为的详细信息。在startup.batstartup.cmd中搜索exit并附加参数/B如果在关键错误处理块之外找不到此参数的exit则能够使用{ {1}}正如您所愿。

所以你需要的也许就是这样:

startup