start /b "" "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -startvm "debian604 64"
Si vous lisez la liste des paramètres avec 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.
Il attend un title
entre guillemets ( "
). Étant donné que votre chemin d'accès au programme comprenait des guillemets, il a été interprété comme le titre. L'ajout d'un titre explicite (dans ce cas, vide ""
) fonctionne.
Une autre méthode consiste à utiliser le /d
commutateur pour spécifier le chemin d'accès. Plus précisément:
start /b /d "c:\Program Files\Oracle\VirtualBox\" VBoxHeadless.exe -startvm "debian604 64"
Il semble prendre le premier argument après le /d
commutateur comme chemin d'accès, même s'il est cité, et si l'argument suivant n'est pas cité, cela fonctionne. Tout ce qui est reconnu comme la commande / le programme est passé en paramètre à cette commande / programme. Notez que cela ne fonctionnera pas si la commande / le programme contient des espaces dans le nom, par exemple VBox Headless.exe
, car cela nécessiterait des guillemets et serait reconnu comme un titre.
Dans l'ensemble, la première méthode (titre explicite) est probablement meilleure. C'était un mauvais choix de conception de la part de Microsoft, ils auraient vraiment dû ajouter un commutateur pour le titre plutôt que "le premier argument est-il placé entre guillemets?".
start /b
, ne mettez pas la machine virtuelle en arrière-plan. Je dois alors trouver autre chose.