start /b "" "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -startvm "debian604 64"
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.
start /b /d "c:\Program Files\Oracle\VirtualBox\" VBoxHeadless.exe -startvm "debian604 64"
start /?
でパラメータリストを読むと、引用符で囲まれたtitle
("
)を想定しています。プログラムのパスには引用符が含まれているので、それがタイトルと解釈されてしまいます。明示的なタイトル(この場合は空の ""
)を追加すると動作します。
もう一つの方法は、/d
スイッチを使ってパスを指定する方法です。具体的には:
&001
これは、/d
スイッチの後の最初の引数が引用符で囲まれていても、パスとみなされ、次の引数が引用符で囲まれていない場合には、これが動作します。コマンド/プログラムとして認識されるものの後の全ては、そのコマンド/プログラムのパラメータとして渡されます。コマンド/プログラムの名前にスペースがある場合は動作しないことに注意してください、例えば VBox Headless.exe
のように、引用符を必要とし、タイトルとして認識されるので。これはマイクロソフト側の悪いデザイン選択でした。彼らは本当に “最初の引数は引用符で囲まれていますか?"ではなく、タイトルのためのスイッチを追加すべきでした。