UNC路径的System.IO.Path.GetPathRoot变通方法

时间:2010-11-19 22:53:04

标签: .net

GetPathRoot似乎不支持UNC路径。以下代码的结果只是修剪file.txt

string root = Path.GetPathRoot("\\servername.pvt\sub dir\file.txt");

什么是好的解决方法?

3 个答案:

答案 0 :(得分:5)

返回值正确。根是共享,而不是服务器!例如:

Path.GetPathRoot(@"\\servername.pvt\sharename\directory\file.txt");

返回@"\\servername.pvt\sharename"。服务器名称加上共享名称构成路径根目录。

答案 1 :(得分:1)

正如documentation示例所示,对于UNC路径,服务器和共享名称被视为根目录。

如果您只想要服务器名称,那么可以安全地假设服务器之后只存在一个“路径元素”,您可以自行剥离。

答案 2 :(得分:0)

如果你想获得服务器UNC地址认为好的解决方案不是Path.GetPathRoot使用,只能在第三次\之后删除所有我认为这将在所有情况下都有效。