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