这似乎是一个晦涩难懂的问题,但在这里:
有没有办法将字符串文字与 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
?
PS我希望这是有道理的,如果您需要澄清,请提出问题。