首页 新闻 会员 周边 捐助

C# 本地共有文件夹的网络路径获取

0
[已解决问题] 解决于 2020-02-28 09:25

本地设置了共享文件夹,怎么在后台代码获取他的网络路径呢

c#
风格的白羊的主页 风格的白羊 | 菜鸟二级 | 园豆:206
提问于:2020-01-13 15:30
< >
分享
最佳答案
0

/// <summary>
/// 获取本地共享文件夹网络路径,逐级向上查询
/// </summary>
/// <param name="localPath">文件夹路径</param>
/// <returns>item1:共享文件夹名;item2:共享文件夹路径</returns>
private Tuple<string, string> GetShareName(string localPath)
{
Tuple<string, string> t = new Tuple<string, string>(null, null);
var escapedPath = localPath.Replace(@"", @"\");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("\root\CIMV2", $"select Name from Win32_Share where Path="{escapedPath}""))
using (var items = searcher.Get())
{
foreach (ManagementObject item in items)
{
t = new Tuple<string, string>(item["Name"].ToString(), localPath);
item.Dispose();
}
}
if (t.Item1 == null && Path.GetDirectoryName(localPath) != null)
{
t = GetShareName(Path.GetDirectoryName(localPath));
}
return t;
}

这个是自己百度后搞出来的,在方法调用处,直接将原地址replace(t.item2,t.item1),前面拼上IP地址就可以得到文件夹的网络路径了
求一个简单的方法,感觉文件夹的网络路径这个属性应该是能直接读出来的

风格的白羊 | 菜鸟二级 |园豆:206 | 2020-01-16 10:14
其他回答(3)
0
dudu | 园豆:30757 (高人七级) | 2020-01-13 15:39

本地的共享文件夹转换不了

支持(1) 反对(0) 风格的白羊 | 园豆:206 (菜鸟二级) | 2020-01-13 16:15
0
ycyzharry | 园豆:25683 (高人七级) | 2020-01-13 23:01
0

博客园里有人发布过吧?
https://www.cnblogs.com/jerrywublogs/p/9854721.html

lzhdim | 园豆:650 (小虾三级) | 2020-01-24 18:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册