這似乎是這樣一個不起眼的問題,但這裏有雲:使用DirectoryInfo枚舉連接字符串文字並添加引號。
有沒有一種方法來連接字符串文字與一個DirectoryInfo枚舉(包含文件路徑),同時增加周圍的文件路徑報價?此外,如何防止在將DirectoryInfo枚舉轉換爲字符串時將反斜槓加倍?我的情況是這樣的:
DirectoryInfo filePathDirectory = new DirectoryInfo(filePath);
Process a = new Process();
a.StartInfo.FileName = "C:\\Windows\\system32\\lpr.exe";
a.StartInfo.Arguments = "-SServername.Domain.net -Plp " + "\"" + filePathDirectory + "\"";
a.StartInfo.UseShellExecute = false;
a.Start();
a.WaitForExit();
filePathDirectory
開始,值爲:
{\\ServerName\Share\Folder\Folder\FileName.xls}
我認爲這是轉化成一次串連成a.StartInfo.Arguments
一個字符串,它被賦予的價值:
-SServername.Domain.net -Plp \"\\\\ServerName\\Share\\Folder\\Folder\\FileName.xls\"
這很糟糕,因爲路徑中反斜槓的數量增加了一倍。我如何確保沒有反斜槓被添加到路徑中?
最重要的是,要添加一個引號,我使用了反斜槓轉義序列;但是這個轉義序列的反斜槓無意中添加到了我的字符串中。如何在a.StartInfo.Arguments
中包含的文件路徑周圍添加引號?
P.S.我希望這是有道理的,如果您需要澄清,請提出問題。
你說得對。我只是想 - 這是我的過程引起的一個問題,實際上它似乎是另一回事,這就需要我提出一個新問題。 – Ben