如果出现错误,如何获取批处理文件.bat继续到下一条语句

时间:2020-03-05 18:56:29  来源:igfitidea点击:

我正在尝试在.bat中编写关闭VM服务器的脚本。
如果vmware-cmd命令之一失败(例如,机器已经关机),我希望它继续而不是轰炸。

c:
cd "c:\Program Files\VMWare\VmWare Server"

vmware-cmd C:\VMImages\TCVMDEVSQL01\TCVMDEVSQL01.vmx suspend soft -q
vmware-cmd C:\VMImages\DevEnv\DevEnv\DevEnv.vmx suspend soft -q
vmware-cmd C:\VMImages\DevEnv\TCVMDEV02\TCVMDEV02.vmx suspend soft =q

robocopy c:\vmimages\ \tcedilacie1tb\VMShare\DevEnvironmentBackups\ /mir /z /r:0 /w:0

vmware-cmd C:\VMImages\TCVMDEVSQL01\TCVMDEVSQL01.vmx start
vmware-cmd C:\VMImages\DevEnv\DevEnv\DevEnv.vmx start 
vmware-cmd C:\VMImages\DevEnv\TCVMDEV02\TCVMDEV02.vmx start

解决方案

回答

我们是否尝试对正在执行的每个命令使用" start(cmd)"?

回答

我们可以编写一个小程序来执行命令,然后返回一个值(对于错误说-1)。然后可以在批处理文件中使用此值。

回答

使用CMD / C在另一个命令实例中运行它

CMD /C vmware-cmd C:\...

这样可以使原始BAT文件保持运行状态。

回答

即使先前的命令已生成错误,批处理文件也应继续执行。也许,我们正在寻找的是由于其他错误而导致批处理中止?

回答

如果要调用另一个批处理文件,则必须使用CALL batchfile.cmd