如果出现错误,如何获取批处理文件.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