如何在C#中获取网络映射驱动器VolumeLabel?

时间:2010-12-16 08:26:51

标签: c#

例如,如果我有驱动器Z:NetworkDrive,它映射到另一台服务器上的共享文件夹,我想返回volumelabel“NetworkDrive”。下一个代码似乎有效:

 foreach (DriveInfo drive in drives)
            {
                if (drive.DriveType == DriveType.Network)
                    mappedDrivesNames.Add(drive.VolumeLabel);
            }

但它从服务器列表中返回第一个共享文件夹的名称。任何想法,为什么会这样?

2 个答案:

答案 0 :(得分:0)

如果我只是编码

var drive = new DriveInfo("Z");
Console.WriteLine(drive.VolumeLabel);

它显示了网络共享所在卷的标签。我的驱动器Z:连接到Windows XP计算机上的共享,共享位于NTFS格式的驱动器上。如果我删除该卷的标签,程序将输出一个空行。

如果共享位于Linux计算机上,我不知道预期的结果是什么。我不知道Linux是否有类似Label的东西,但我不这么认为。

答案 1 :(得分:0)

我不太确定你是否还需要信息,但我在这个帖子中找到了一些答案: Get drive label in C#