Следующая команда запустит виртуальную виртуальную машину в режиме без головы:

"C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" --startvm Slack131

У меня есть это в файле .bat. После двойного щелчка по сценарию .bat команда выполняется, запускается vm, и окно cmd.exe остается открытым.

Я видел другое поведение на сервере MySQL, который использовал некоторое время назад. Идея была та же, начать ее со сценария. Но в случае с MySQL окно cmd.exe исчезло сразу после выполнения скрипта.

Я хотел бы иметь эффект исчезновения в стартовом скрипте Virtual Box vm. Является ли это возможным?

1 ответ1

0

start "" "C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" --startvm Slack131

Команда start будет запускать VirtualBox асинхронно, затем пакетный файл продолжит свое собственное выполнение и сразу же закроется (при условии, что после start больше нет команд).

Первая пара кавычек "" требуется start синтаксисом (который принимает первый аргумент в кавычках в качестве нового заголовка окна).


[EDIT] Однострочной команды start достаточно в обычных случаях, когда командный файл, скажем, runVBox.cmd , выполняется напрямую или через эквивалент cmd /c (выполнить и завершить), например

  • выполнить непосредственно в командной строке cmd: runVBox.cmd
  • вызов из другого пакетного файла: call runVBox.cmd
  • явно запустить через cmd /c: cmd /c runVBox.cmd
  • двойной щелчок в проводнике

Однако, если вызывается в контексте, эквивалентном cmd /k (выполнить и остаться), например,

  • start "" runVBox.cmd
  • cmd /k runVBox.cmd

затем требуется дополнительный exit в конце runVBox.cmd чтобы закрыть родительский процесс cmd .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .