我正在尝试获取本地Intranet服务器上可用的所有共享文件夹的列表.
System.IO.Directory.GetDirectories()对于像这样的路径来说\\myServer\myShare,这样的工作很好,但是我得到了一条路径的例外\\myServer:
未处理的异常:System.ArgumentException:UNC路径的格式应为\ server\share.
有没有办法获取服务器的所有共享文件夹的列表?最终,我正在寻找一种方法,可以根据给定的路径处理这两种情况 - 返回给定服务器的所有共享列表,并返回给定网络共享文件夹的所有子目录列表.
这是一种使用System.Management(添加对此程序集的引用)的技术:
using (ManagementClass shares = new ManagementClass(@"\\NameOfTheRemoteComputer\root\cimv2", "Win32_Share", new ObjectGetOptions())) {
foreach (ManagementObject share in shares.GetInstances()) {
Console.WriteLine(share["Name"]);
}
}
Run Code Online (Sandbox Code Playgroud)
需要适当的权限.
我认为这就是您正在寻找的http://www.codeproject.com/KB/IP/networkshares.aspx
| 归档时间: |
|
| 查看次数: |
36426 次 |
| 最近记录: |