Process.Start参数问题---转义为“=”字符?

时间:2010-02-05 20:30:38

标签: c# .net

我一直在使用System.Diagnostics.Process.Start()。例如:

string target = @"c:\te=mp\test";
System.Diagnostics.Process.Start("explorer.exe", target)

目标变量实际上是动态提供的,有时会包含一个“=”符号,这是文件名和目录中的合法字符。

问题是这会触发错误,指示“路径' \ tmp \ test '不存在或不是目录。”似乎路径参数被截断到“=”字符的左边。

有没有办法逃避“=”字符,否则解决这个问题?

3 个答案:

答案 0 :(得分:3)

尝试用引号括起来,例如

string target = @"""c:\te=mp\test""";

答案 1 :(得分:2)

在违规参数周围加上引号。例如:

System.Diagnostics.Process.Start("explorer.exe", "\"" + target + "\"");

答案 2 :(得分:1)

只需使用双引号:

System.Diagnostics.Process.Start("explorer.exe",  @"""c:\te=mp\test""");