2008-09-16 7 views
18

Ich versuche, das Herunterfahren meiner VM-Server in einer .bat Skript. Wenn einer der vmware-cmd-Befehle fehlschlägt (da der Computer bereits heruntergefahren ist), möchte ich, dass er fortfährt, anstatt zu bombardieren.Wie bekomme ich eine Batch-Datei .bat weiter auf die nächste Anweisung, wenn es einen Fehler gibt

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 

Antwort

26

Führen sie in einem anderen Befehlsinstanz mit CMD /C

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

Dies sollte die Original-BAT-Dateien laufen halten.

3

Haben Sie versucht, "start (cmd)" für jeden Befehl zu verwenden, den Sie ausführen?

0

Sie könnten ein kleines Programm schreiben, das den Befehl ausführt und einen Wert zurückgibt (sagen wir -1 für einen Fehler). Dieser Wert kann dann in Ihrer Batch-Datei verwendet werden.

0

Eine Batchdatei sollte weiterhin ausgeführt werden, auch wenn der vorherige Befehl einen Fehler generiert hat. Vielleicht, was Sie sehen, ist der Batch-Abbruch aufgrund eines anderen Fehlers?

4

Wenn Sie eine andere Batch-Datei aufrufen, müssen Sie verwenden Anruf batchfile.cmd

+0

ich mehrere Batch-Dateien anrief (query1.bat query2.bat) von einem Hauptaufgabe (morning.bat) und jederzeit eine von Die kleinen .bat-Dateien haben einen Fehler wie "Datei nicht gefunden" beim Aufräumen alter Protokolle, das Ganze würde aufhören. Das hat den Trick gemacht. +1 und danke. –

Verwandte Themen