start /b "" "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -startvm "debian604 64"
Se leggi l'elenco dei parametri con 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.
Si aspetta un title
racchiuso tra virgolette ( "
). Poiché il percorso del programma includeva virgolette, è stato interpretato come il titolo. L'aggiunta di un titolo esplicito (in questo caso, vuoto, ""
) funziona.
Un metodo alternativo sta usando l' /d
opzione per specificare il percorso. In particolare:
start /b /d "c:\Program Files\Oracle\VirtualBox\" VBoxHeadless.exe -startvm "debian604 64"
Sembra prendere il primo argomento dopo il /d
passaggio come percorso, anche se viene citato e se l'argomento successivo non viene citato, allora funziona. Tutto ciò che viene riconosciuto come comando / programma viene passato come parametro a quel comando / programma. Nota che questo non funzionerà se il comando / programma ha spazi nel nome, ad es VBox Headless.exe
. Poiché ciò richiederebbe virgolette e sarebbe riconosciuto come titolo.
Nel complesso, il primo metodo (titolo esplicito) è probabilmente migliore. È stata una cattiva scelta progettuale da parte di Microsoft, avrebbero davvero dovuto aggiungere uno switch per il titolo piuttosto che "il primo argomento è racchiuso tra virgolette?".
start /b
, non mettere la macchina virtuale in secondo piano. Allora devo inventarmi qualcos'altro.