HowTo: CMD Parameter maskieren (“C:
rogram' is not recognized…”)

image

Viele Tools kann man über die Windows Command Line aufrufen. Meistens will man dem Programm noch Parameter mitgeben. Dummerweise stört sich die CMD an Whitespaces (bekanntes Beispiel: Als Parameter eine Pfadangabe mit "Program Files”)). Da ich gestern etwas gefrustet war (und es eigentlich total einfach ist ;) ) blogge ich die simple Lösung jetzt...

Beispiel

Wir nutzen das Tool NDepend in unserem Buildprozess. Eine komplette Beschreibung ist hier. Der Aufruf ist so gedacht (der geht allerdings nicht so):

C:\Windows\system32\cmd.exe /s /c "C:\Program Files\NDepend\NDepend.Console.exe" "C:\Program Files (x86)\TeamCity\..." ...

Problem ist der Part nach dem NDepend.Console.exe Aufruf - Grund:

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

Lösung: Die Parameter maskieren...

"\"C:\Program Files (x86)\TeamCity\...\""

Dann klappts auch mit der CMD ;)

Wie immer - Stackoverflow <3.