我一直在使用System.Diagnostics.Process.Start()。例如:
string target = @"c:\te=mp\test";
System.Diagnostics.Process.Start("explorer.exe", target)
目标变量实际上是动态提供的,有时会包含一个“=”符号,这是文件名和目录中的合法字符。
问题是这会触发错误,指示“路径' \ tmp \ test '不存在或不是目录。”似乎路径参数被截断到“=”字符的左边。
有没有办法逃避“=”字符,否则解决这个问题?
答案 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""");