2013-08-06 66 views
2

我已经阅读了很多这个问题的解决方案,并尝试过所有这些方法,但找不到正确的方法来完成此任务。我的代码是:传递参数用双引号包围

p.StartInfo.Arguments = path; 

我需要的路径变量被包围周围开始“标志,因为它是已在目录名和文件名空格的文件的路径我如何可以把一个。”和路径变量的结束? Psudo代码如下:

p.StartInfo.Arguments = DoubleQuote + path + DoubleQuote; 

作为随访这种情况 - 一旦我的.exe文件收到的路径 - 路径是全部由“\””的建议。然而,我不得不封闭道路。在“\”中的.exe文件代码中,因此它也可以找到.xlsx文件,因为路径和文件名中有空格。只是想跟随这与其他人的这种情况,并想知道为什么命令行参数是好的,但该.exe文件没有找到该文件 - 这两个应用程序都需要包含在“\”“

回答

7

不知道什么解决方案,您见过和尝试,但你需要如果你有很多逃避报价

p.StartInfo.Arguments = "\"" + path + "\""; 

,或者如果你想使用逐字字符串(使用""逃脱)

p.StartInfo.Arguments = @""" + path + """; 

参数,您可能会发现String.Format方法更易于维护。

p.StartInfo.Arguments = string.Format(@"""{0}""", path); 
+0

大家给了我一个很好的答案来完成,但我不得不选择一个人 - 所以选择keyboardP因为他第一次回答。感谢所有人......非常感谢! – Frekster

0

您只需要将双引号字符追加到字符串的开头和结尾。创建双引号可以在以下任一方式

  • "\""
  • @""""
相关问题