我有以下要运行某些应用程序的参数列表。
"C:\Release one" "My Manager" 321
我发现我应该将它们放到ProcessStartInfo
Arguments
财产。
但是我如何正确地编写它们,因为它们在字符串中有空格,“My Manager"
?
答案 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);