有没有办法使用C#搜索所有可用网络共享上的文件?

时间:2012-03-03 02:41:04

标签: c# winforms network-share mapped-drive

有没有办法搜索所有可用网络共享上的文件而不实际向搜索提供有关共享计算机名称的任何信息?

这就是我想要做的。在服务器共享文件夹中,我有一个配置文件,指定该共享的UNC信息。从该局域网上的另一个桌面,我想运行一个程序来搜索该文件,并根据该文件内容将驱动器映射到该文件夹​​。

我有一些技术支持人员经常需要将这些驱动器映射到共享文件夹。他们打电话的人可能对计算机缺乏经验。我正试图找到一种方法让他们的工作更轻松。

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:2)

我不记得用于列出可用网络共享的Windows API(虽然我可能已经错过了它),但是一个快速(代码处理速度慢)的方法是使用{{3}中的方法发现网络上的计算机(或至少大部分计算机),并尝试连接到@"\\" + currentIPOrHostName以查看是否能够获得共享列表。我从来没有这样做过,所以我不能保证它会起作用,但除非别人想出更好的方法,否则值得一试。

答案 1 :(得分:0)

试试这个(C#4.0):

    private void ShowDrives()
    {
        DriveInfo[] drives = DriveInfo.GetDrives();
        foreach (DriveInfo drive in drives)
        {
            MessageBox.Show(drive.Name);
        }
    }