web-dev-qa-db-ja.com

バッチファイルでstartコマンドを使用する方法は?

多くのコマンドラインパラメーターでアプリを起動するバッチファイルがあります。

"C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe" /port:1672 /path:"C:\Code.Net\My App\Iteration 6\REL_6.8.806_PerfEnhanceV\Fusion\Code\CC.Fusion\CC.Fusion.Services" /vpath:"/FusionServices"

問題は、バッチファイルを実行すると、コマンドが完了するまでDOSウィンドウが表示されたままになるので、それを消してほしいということです。そこで、startコマンドを使用してみましたが、次のように前に配置しました。

start "C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe" /port:1672 /path:"C:\Code.Net\My App\Iteration 6\REL_6.8.806_PerfEnhanceV\Fusion\Code\CC.Fusion\CC.Fusion.Services" /vpath:"/FusionServices"

しかし、Invalid switch - "/port:1672"

また、二重引用符をエスケープしようとしましたが、成功しませんでした。

どうすれば修正できますか?

24
AngryHacker

ウサギの耳の余分なペアは、トリックを行う必要があります。

start "" "C:\Program...

STARTは、唯一のパラメーターでない限り、最初の引用符で囲まれたパラメーターをウィンドウタイトルと見なします-そして、実行可能ファイル名がSTARTスイッチと見なされるまで切り替えます。

56
Magoo

この他のStack Overflowの答えはあなたの問題を解決すると思います:別のbatファイルからbatファイルをバックグラウンドで実行するにはどうすればよいですか?

基本的に、/Bおよび/Cオプション:

START /B CMD /C CALL "foo.bat" [args [...]] >NUL 2>&1
9
jimbo