26

I have a batch file that starts an app with a lot of command-line parameters:

"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"

The problem is that when I run the batch file, the DOS window stays up until the command completes and I would like it to go away. So I tried using the start command, but placing it in front, like this:

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"

But I get an error stating that Invalid switch - "/port:1672"

I have also tried escaping the double quotes, but I was not successful.

How do I fix that?

Naveen Kumar V
  • 2,223
  • 1
  • 23
  • 41
AngryHacker
  • 56,860
  • 95
  • 305
  • 561

2 Answers2

66

An extra pair of rabbits' ears should do the trick.

start "" "C:\Program...

START regards the first quoted parameter as the window-title, unless it's the only parameter - and any switches up until the executable name are regarded as START switches.

Magoo
  • 72,034
  • 7
  • 58
  • 78
10

I think this other Stack Overflow answer would solve your problem: How do I run a bat file in the background from another bat file?

Basically, you use the /B and /C options:

START /B CMD /C CALL "foo.bat" [args [...]] >NUL 2>&1
Community
  • 1
  • 1
jimbo
  • 10,786
  • 6
  • 27
  • 46
  • 1
    That question is for calling other batch files asynchronously. Unfortunately it doesn't solve my specific problem. – AngryHacker Jun 19 '13 at 22:05