[英]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.