启动VPS的Azure bat文件在nodevars.bat之后停在cmd处

时间:2015-06-23 00:49:18

标签: batch-file cmd

下午好。

我很沮丧,因为这似乎是直截了当的。我想要执行一些简单的任务,例如启动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>

1 个答案:

答案 0 :(得分:0)

你的蝙蝠正在工作。您启动一个新的cmd程序,将变量添加到该cmd进程,然后继续运行。退出时,这些更改将被丢弃,其余的bat文件将运行。

使用call命令。

启动程序

见开始/?并致电/?三种方式的帮助。

指定程序名称

c:\windows\notepad.exe

在批处理文件中,批处理将等待程序退出。什么时候 键入命令提示符不等待图形 程序退出。

如果程序是批处理文件,则传输控件并且不执行其余的调用批处理文件。

使用开始命令

start "" c:\windows\notepad.exe

开始启动程序但不等待。控制台程序在新窗口中启动。使用/ b开关强制控制台程序进入同一窗口,这将取消Start的主要目的。

开始使用Windows图形外壳 - 与在WinKey + R中键入(运行对话框)相同。试试

start shell:cache

使用呼叫命令

调用用于启动批处理文件并等待它们退出并继续当前批处理文件。