I want to invoke:
"c:\(...)\devenv.com" foo.sln /build "Debug|Win32"
using cmd.exe. In my experience, cmd.exe either strips out the first pair of quotes (causing the executable to not be found) or the second pair of quotes (causing the pipe character to be misinterpreted). How do you pass a quoted pipe character to cmd.exe?
You can either do it the way you are doing there, enclosing the string with the
|in quotation marks.Or you can escape it with the circumflex accent
^:As a side note: Why are you building this with DevEnv instead of MSBuild?