web-dev-qa-db-fra.com

Comment utiliser la commande start dans un fichier batch?

J'ai un fichier batch qui démarre une application avec beaucoup de paramètres de ligne de commande:

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

Le problème est que lorsque j'exécute le fichier de commandes, la fenêtre DOS reste active jusqu'à ce que la commande se termine et j'aimerais qu'elle disparaisse. J'ai donc essayé d'utiliser la commande start, mais en la plaçant devant, comme ceci:

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"

Mais je reçois une erreur indiquant que Invalid switch - "/port:1672"

J'ai également essayé d'échapper aux guillemets doubles, mais je n'ai pas réussi.

Comment puis-je résoudre ce problème?

24
AngryHacker

Une oreille de lapin supplémentaire devrait faire l'affaire.

start "" "C:\Program...

START considère le premier paramètre cité comme le titre de la fenêtre, à moins que ce soit le seul paramètre - et tous les commutateurs jusqu'au nom de l'exécutable sont considérés comme des commutateurs START.

56
Magoo

Je pense que cette autre réponse Stack Overflow résoudrait votre problème: Comment puis-je exécuter un fichier bat en arrière-plan à partir d'un autre fichier bat?

Fondamentalement, vous utilisez le /B et /C options:

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