簡體   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