例如,如果我有驱动器Z:NetworkDrive,它映射到另一台服务器上的共享文件夹,我想返回volumelabel“NetworkDrive”。下一个代码似乎有效:
foreach (DriveInfo drive in drives)
{
if (drive.DriveType == DriveType.Network)
mappedDrivesNames.Add(drive.VolumeLabel);
}
但它从服务器列表中返回第一个共享文件夹的名称。任何想法,为什么会这样?
答案 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#