我已经阅读了很多这个问题的解决方案,并尝试了所有这些解决方案但找不到完成此任务的正确方法。我的代码是:
p.StartInfo.Arguments = path;
我需要将路径变量包围在“标记中,因为它是指向目录名和文件名中包含空格的文件的路径。如何在路径变量的开头和结尾附近添加”? Psudo代码将是:
p.StartInfo.Arguments = DoubleQuote + path + DoubleQuote;
作为这种情况的后续行动 - 一旦我的.exe文件收到路径 - 路径完全遵循“\”“建议。但是,我必须将路径包含在.exe文件代码中” “”所以它也可以找到.xlsx文件,因为路径和文件名中有空格。只是想对其他任何有这种情况的人进行跟进,并想知道为什么命令行参数没问题,但是.exe文件没有找到文件 - 两个应用程序都需要用“\”“包围。
答案 0 :(得分:7)
不确定您已经看到并试过了哪些解决方案但是您需要转义引号
p.StartInfo.Arguments = "\"" + path + "\"";
或者如果你想使用逐字字符串文字(使用""
来逃避)
p.StartInfo.Arguments = @""" + path + """;
如果您有很多参数,您可能会发现String.Format方法更容易维护。
p.StartInfo.Arguments = string.Format(@"""{0}""", path);
答案 1 :(得分:0)
您只需将双引号字符附加到字符串的开头和结尾即可。创建双引号可以通过以下任一方式完成
"\""
@""""