Ответ 1
Запустите его в другом экземпляре команды с помощью CMD /C
CMD /C vmware-cmd C:\...
Это должно поддерживать исходные файлы BAT.
Я пытаюсь script закрыть мои VM-серверы в .bat. если одна из команд 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
Запустите его в другом экземпляре команды с помощью CMD /C
CMD /C vmware-cmd C:\...
Это должно поддерживать исходные файлы BAT.
Если вы вызываете другой пакетный файл, вы должны использовать CALL batchfile.cmd
Пробовали ли вы использовать "start (cmd)" для каждой команды, которую вы выполняете?
Вы можете написать небольшую Программу, которая выполняет команду, а возвращает значение (например, -1 для ошибки). Это значение затем можно использовать в вашем пакетном файле.
Пакетный файл должен продолжать выполняться, даже если предыдущая команда сгенерировала ошибку. Возможно, что вы просматриваете, это прерывание партии из-за некоторой другой ошибки?