it-swarm.com.de

Wie verwende ich den Start-Befehl in einer Batch-Datei?

Ich habe eine Batchdatei, die eine App mit vielen Befehlszeilenparametern startet:

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

Das Problem ist, dass beim Ausführen der Batch-Datei das DOS-Fenster so lange geöffnet bleibt, bis der Befehl ausgeführt wird, und ich möchte, dass es nicht mehr angezeigt wird. Also habe ich versucht, den Befehl start zu verwenden, ihn aber wie folgt voran zu stellen:

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"

Aber ich bekomme eine Fehlermeldung, die besagt, dass Invalid switch - "/port:1672"

Ich habe auch versucht, den doppelten Anführungszeichen zu entkommen, aber ich war nicht erfolgreich.

Wie behebe ich das?

24
AngryHacker

Ein zusätzliches Paar Kaninchenohren sollte den Trick machen.

start "" "C:\Program...

START betrachtet den zuerst angegebenen Parameter als Fenstertitel, es sei denn, es ist der einzige Parameter - und alle Schalter bis zum Namen der ausführbaren Datei werden als START -Schalter betrachtet.

56
Magoo

Ich denke, diese andere Stack Overflow-Antwort würde Ihr Problem lösen: Wie führe ich eine Bat-Datei im Hintergrund von einer anderen Bat-Datei aus?

Grundsätzlich verwenden Sie die /B und /C Optionen:

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