2008-09-16 40 views
18

我想腳本關閉我的VM服務器在.bat中。 如果其中一個vmware-cmd命令失敗(因爲機器已經關閉),我希望它繼續而不是轟炸。如何獲得一個批處理文件.bat繼續到下一個語句,如果有錯誤

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 

回答

26

CMD /C

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

這樣運行它另一個命令實例內應保持原有的BAT文件運行。

3

您是否嘗試過使用「start(cmd)」來執行每個命令?

0

您可以編寫一個執行該命令並返回一個值的小程序(對於錯誤,說-1)。這個值可以在你的批處理文件中使用。

0

即使前面的命令產生錯誤,批處理文件也應該繼續執行。也許,你看到的是由於其他錯誤而導致批處理中止?

4

如果要調用另一個批處理文件,則必須使用CALL batchfile.cmd

+0

我是從一個主要工作(morning.bat)和任何一個時間的調用幾個批處理文件(query1.bat query2.bat)在清理舊的日誌時,小的.bat文件遇到了「找不到文件」的錯誤,整個事情就會停止。這個伎倆。 +1和謝謝。 – 2013-11-12 13:59:21

相關問題