使用多个参数从C#代码运行应用程序

时间:2012-08-23 12:04:30

标签: c# .net

我有以下要运行某些应用程序的参数列表。

 "C:\Release one" "My Manager" 321

我发现我应该将它们放到ProcessStartInfo Arguments财产。

但是我如何正确地编写它们,因为它们在字符串中有空格,“My Manager"

6 个答案:

答案 0 :(得分:5)

尝试:

process.StartInfo.Arguments = "\"My Manager\" 321";

答案 1 :(得分:1)

使用此:

 System.Diagnostics.Process.Start("something.exe","arg_1"+"  "+"arg_2"+"  "+"arg_3"+"  ");

答案 2 :(得分:0)

你需要在引号中显示它们。

所以代码可能看起来像

Process.Start("myexe.exe","\"My stuff\" "+myarg);

答案 3 :(得分:0)

...试

"\"C:\\Release one\""
"\"My Manager\""
321

我没有在你的特定情况下尝试这个,但它是将双引号作为字符串的一部分包含在内的标准方法。

答案 4 :(得分:0)

逃离“和\

示例:

Process p = new Process();
p.StartInfo.FileName = "C:\\Release one";
p.StartInfo.Arguments = "\"My Manager\" 321";
p.Start();

答案 5 :(得分:0)

我正在使用此方法来获取正确的aArgumentvalue

 public static string GetArgumentValue(string arg)
    {
        if (arg.Contains(" "))
            return string.Format("\"{0}\"", arg);
        return arg;
  }

示例:

     process.StartInfo.Arguments = string.Format("{0} {1} {2}", GetArgumentValue(@"C:\Release one"), GetArgumentValue("My Manager"), 321);