繁体   English   中英

传递参数用双引号引起来

[英]Passing argument surrounded with double quotes

我已经阅读了很多这个问题的解决方案,并尝试了所有这些解决方案,但无法找到完成此任务的正确方法。 我的代码是:

p.StartInfo.Arguments = path;

我需要路径变量被“标记包围,因为它是一个文件的路径,在目录名和文件名中有空格。我怎样才能在路径变量的开头和结尾附近放一个? 伪代码为:

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

作为这种情况的后续 - 一旦我的.exe文件收到路径 - 路径完全遵循“\\”“建议。但是,我必须将路径包含在.exe”中的.exe文件代码中它也可以找到.xlsx文件,因为路径和文件名中有空格。 只是想对其他任何有这种情况的人进行跟进,并想知道为什么命令行参数没问题,但.exe文件没有找到文件 - 两个应用程序都需要用“\\”“括起来。

不确定你看到和试过的解决方案,但你需要逃避报价

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

或者如果你想使用逐字字符串文字(使用""来逃避)

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

如果您有很多参数,则可能会发现String.Format方法更易于维护。

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

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

  • "\\""
  • @""""

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM