start /b "" "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -startvm "debian604 64"
Якщо ви читаєте список параметрів за допомогою start /?
:
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
command/program
If it is an internal cmd command or a batch file then
the command processor is run with the /K switch to cmd.exe.
This means that the window will remain after the command
has been run.
If it is not an internal cmd command or batch file then
it is a program and will run as either a windowed application
or a console application.
parameters These are the parameters passed to the command/program.
Він очікує, що title
додається до лапок ( "
). Оскільки ваш програмний шлях включав лапки, його інтерпретували як заголовок. Додавання явного заголовка (у цьому випадку порожнього ""
) працює.
Альтернативним методом є використання /d
перемикача для визначення шляху. Конкретно:
start /b /d "c:\Program Files\Oracle\VirtualBox\" VBoxHeadless.exe -startvm "debian604 64"
Здається, перший аргумент після /d
перемикання бере як шлях, навіть якщо він цитується, а якщо наступний аргумент не цитується, то це працює. Все після того, що визнається командою / програмою, передається як параметр цій команді / програмі. Зверніть увагу, це не буде працювати, якщо команда / програма має пробіли в імені, наприклад VBox Headless.exe
, оскільки це вимагатиме лапок і буде розпізнано як заголовок.
Загалом, перший (явний заголовок) метод, мабуть, кращий. Це був поганий вибір дизайну з боку Microsoft, вони дійсно повинні були додати перемикач для заголовка, а не "це перший аргумент, що додається до лапок?".
start /b
я не ставте віртуальну машину на задній план. Я повинен тоді придумати щось інше.