VM .bat内のサーバー)のシャットダウンをスクリプト化しようとしています。vmware-cmdコマンドの1つが失敗した場合(マシンはすでにシャットダウンされているため)、それが欲しいです。爆撃する代わりに続行します。
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
CMD /C
を使用して別のコマンドインスタンス内で実行します
CMD /C vmware-cmd C:\...
これにより、元のBATファイルが実行されたままになります。
別のバッチファイルを呼び出す場合は、CALLバッチfile.cmdを使用する必要があります
実行しているコマンドごとに「start(cmd)」を使用してみましたか?
コマンドを実行して値を返す小さなプログラムを書くことができます(エラーの場合は-1など)。この値は、バッチファイルで使用できます。
前のコマンドでエラーが発生した場合でも、バッチファイルは実行を継続する必要があります。おそらく、他のエラーが原因でバッチが中止されていることがわかりますか?