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

时间:2012-10-15 07:54:19

标签: cmd

我想打电话

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

不幸的是,这不起作用,因为我收到错误: “C:\ Program”未被识别为内部或外部命令, 可操作程序或批处理文件。

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

如何正确引用此命令行的任何想法?

3 个答案:

答案 0 :(得分:105)

请注意开头和结尾处的""

运行程序并传递长文件名

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

计划路径中的空格

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

程序路径中的空格+参数

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

程序路径中的空格+带空格的参数

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 (Command Shell)

答案 1 :(得分:1)

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

答案 2 :(得分:-4)

文件名或目录名中的空格很糟糕。

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

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