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 ] [/AFFINITY ] [/WAIT] [/B]
[command/program] [parameters]
"title" Titre à afficher dans la barre de titre de la fenêtre.
command/program
S'il s'agit d'une commande cmd interne ou d'un fichier batch alors
le processeur de commande est exécuté avec l'interrupteur /K vers cmd.exe.
Cela signifie que la fenêtre restera ouverte après que la commande
ait été exécutée.
S'il ne s'agit pas d'une commande cmd interne ou d'un fichier batch alors
c'est un programme et s'exécutera soit en tant qu'application fenêtrée
soit en tant qu'application console.
paramètres Ce sont les paramètres transmis à la commande/au programme.
Il s'attend à un titre
encadré de guillemets ("
). Comme votre chemin du programme incluait des guillemets, il a été interprété comme le titre. Ajouter un titre explicite (dans ce cas, vide, ""
) fonctionne.
Une méthode alternative est d'utiliser l'interrupteur /d
pour spécifier le chemin. 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 l'interrupteur /d
comme le chemin, même s'il est entre guillemets, et si le prochain argument n'est pas entre guillemets alors cela fonctionne. Tout ce qui suit ce qui est reconnu comme la commande/le programme est passé en tant que paramètre à cette commande/à ce programme. Notez que cela ne fonctionnera pas si la commande/le programme comporte des espaces dans le nom, par ex. VBox Headless.exe
, car cela nécessiterait des guillemets et serait reconnu comme un titre.
En général, 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 interrupteur pour le titre plutôt que "le premier argument est-il entre guillemets?".