下午好。
我很沮丧,因为这似乎是直截了当的。我想要执行一些简单的任务,例如启动azure VPS,但是在运行nodevars.bat后,bat文件会在cmd提示符处停止。即批处理文件不会继续并等待进一步的指示
我确定答案很简单,出于某种原因,我无法找到遇到同样问题的其他人。
脚本很简单(它从我的本地机器运行):
cmd /k "C:\Program Files\nodejs\nodevars.bat"
azure vm start VPSName
timeout /t 300
cls
REM VPSName should have started by now
C:\VPS\VPSName.RDP
这是输出(它不会继续并启动VM):
C:\VPS>cmd /k "C:\Program Files\nodejs\nodevars.bat"
Your environment has been set up for using Node.js 0.12.4 (x64) and npm.
C:\VPS>
答案 0 :(得分:0)
你的蝙蝠正在工作。您启动一个新的cmd程序,将变量添加到该cmd进程,然后继续运行。退出时,这些更改将被丢弃,其余的bat文件将运行。
使用call
命令。
见开始/?并致电/?三种方式的帮助。
c:\windows\notepad.exe
在批处理文件中,批处理将等待程序退出。什么时候 键入命令提示符不等待图形 程序退出。
如果程序是批处理文件,则传输控件并且不执行其余的调用批处理文件。
start "" c:\windows\notepad.exe
开始启动程序但不等待。控制台程序在新窗口中启动。使用/ b开关强制控制台程序进入同一窗口,这将取消Start的主要目的。
开始使用Windows图形外壳 - 与在WinKey + R中键入(运行对话框)相同。试试
start shell:cache
调用用于启动批处理文件并等待它们退出并继续当前批处理文件。