簡體   English   中英

C#雙引號參數

[英]C# double quote argument

在 app.config 文件中,我有:

add key="DataFileLocation" value="E:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\"/>

在代碼中我有:

Process P2 = new Process();
P2.StartInfo.FileName = "restore.bat";
P2.StartInfo.Arguments = + "\"" + DataFileLocation.ToString() + "\"";
P2.StartInfo.UseShellExecute = false;
P2.StartInfo.RedirectStandardOutput = true;
P2.StartInfo.CreateNoWindow = true;
P2.Start();

“restore.bat”的輸出是:

-v dataloc=\"E:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\DATA\\\"

如您所見,開頭有一個額外的“\\”,它破壞了 bat/sql 語句......

安德魯

在您的情況下,您似乎已經添加了一個額外的\\ ,根據您的邏輯輸出也是如此。

組合路徑的最佳方法是您應該使用靜態Path類提供的Path.Combine方法,它會處理所有額外的\\

嘗試這個

var finalPath = Path.Combine(DataFileLocation.ToString(), "what_ever_path_you_want_to_combine");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM