2

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

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

我知道我应该把它们归为ProcessStartInfo Arguments财产。

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

4

6 回答 6

5

尝试:

process.StartInfo.Arguments = "\"My Manager\" 321";
于 2012-08-23T12:11:32.040 回答
1

用这个:

 System.Diagnostics.Process.Start("something.exe","arg_1"+"  "+"arg_2"+"  "+"arg_3"+"  ");
于 2012-08-23T12:07:18.493 回答
0

您需要将它们放在那里,用引号括起来。

所以代码可能看起来像

Process.Start("myexe.exe","\"My stuff\" "+myarg);
于 2012-08-23T12:09:15.630 回答
0

尝试...

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

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

于 2012-08-23T12:10:13.030 回答
0

转义 " 和 \

例子:

Process p = new Process();
p.StartInfo.FileName = "C:\\Release one";
p.StartInfo.Arguments = "\"My Manager\" 321";
p.Start();
于 2012-08-23T12:11:30.737 回答
0

我正在使用这个方法来获取 CorrectaArgumentvalue

 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);
于 2012-08-23T13:35:56.807 回答