设置命令行引用params

时间:2012-02-02 09:30:54

标签: c# command-line command-line-arguments command-prompt

我需要从我的应用程序启动命令提示符并为其设置参数。

System.Diagnostics.Process.Start("CMD.exe", "\"C:\Program Files\My Program\program.exe\" \"C:\Program Files\My Program\Program2.exe\"");

abowe线对我有好处,但他的问题是引用。要在cmd中使用引号我需要转义它们,但是当我逃避它们时,我在命令中得到转义符号\,因此它不起作用。
有人有想法,如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

const string SystemDirectory = @"C:\Windows\System32";

使用quoutes:

const string SystemDirectory = @"""C:\Windows\System32""";

答案 1 :(得分:1)

您的代码应如下所示:

Process.Start("CMD.exe",
              "\"C:\\Program Files\\My Program\\program.exe\" " +
              "\"C:\\Program Files\\My Program\\Program2.exe\"");

注意路径中的双反斜杠。

另一种方法是使用逐字符串(注意字符串前面的@符号)。在这种情况下,您需要将引号转义为两个引号:

Process.Start("CMD.exe",
              @"""C:\Program Files\My Program\program.exe"" " +
              @"""C:\Program Files\My Program\Program2.exe""");