正确引用为多个参数的cmd.exe

我想打电话

cmd /c "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" mysolution.sln /build "release|win32" 

不幸的是,这不起作用,因为我得到的错误:'C:\ Program'不被识别为内部或外部命令,可操作的程序或batch file。

据我所知,我需要引用空格和引号|,但我只允许使用引号一次。

任何想法如何正确引用这个命令行调用?

注意""在开始和结束!

运行一个程序并传递一个长文件名

 cmd /c write.exe "c:\sample documents\sample.txt" 

程序path中的空间

 cmd /c ""c:\Program Files\Microsoft Office\Office\Winword.exe"" 

程序path中的空间+参数

 cmd /c ""c:\Program Files\demo.cmd"" Parameter1 Param2 

程序path中的空格+带空格的参数

 cmd /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space"" 

启动Demo1,然后启动Demo2

 cmd /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd"" 

CMD.exe(命令shell)

空格用于分隔参数。 在你的情况下, C:\ Program成为参数。 如果您的文件path包含空格,请添加双引号。 然后cmd会将其识别为单个参数。

文件名或目录名空间是可怕的。

正确的语法是在每个包含空格的目录名称中加双引号

cmd / c C:\ Program Files \“Microsoft Visual Studio 9.0 \ Common7 \ IDE \ devenv.com mysolution.sln / build”release | win32“