从批处理文件启动程序并继续执行下一个命令

时间:2015-08-12 13:02:23

标签: windows batch-file cmd ngrok

我正在自动启动IIS Express,然后启动ngrok并自动打开网页以浏览网站。不幸的是,我陷入了最后的障碍,因为一旦ngrok启动批处理文件的最后一行打开页面将不会运行,直到ngrok进程结束,这显然不是很有帮助。

示例:

ngrok http -subdomain=mysubdomain 192.168.0.2:%port%

:: Pause for 3 seconds as IIS Express takes a moment to start
timeout /t 3

:: launch the browser pointing to this location
start /B "" http://mysubdomain.ngrok.io

如果我改变了启动ngrok的行(如下所示),一切都按我的要求运行,但是一旦页面打开,我就失去了与ngrok交互的能力:

start /B "" ngrok http -subdomain=mysubdomain 192.168.0.2:%port%

我可以在批处理文件中实现我想要的东西吗?如果是这样,我错过了什么?如果可以的话,我真的想把这个自包含和便携式保存在一个批处理文件中。

1 个答案:

答案 0 :(得分:1)

抢先开始倒计时并随后启动浏览器。

  • 在同一个控制台中:

    start /b "" cmd /c timeout /t 3 ^& start /B "" http://mysubdomain.ngrok.io
    ngrok http -subdomain=mysubdomain 192.168.0.2:%port%
    
  • 或者在单独的最小化控制台窗口中:

    start /min "" cmd /c timeout /t 3 ^& start /B "" http://mysubdomain.ngrok.io
    ngrok http -subdomain=mysubdomain 192.168.0.2:%port%