这似乎是这样一个不起眼的问题,但这里有云:使用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