如何在C#中获得网络映射驱动器VolumeLabel?
问题描述:
因此,例如,如果我有驱动器Z:NetworkDrive,映射到另一台服务器上的共享文件夹,并且我想返回volumelabel“NetworkDrive”。下面的代码似乎工作:如何在C#中获得网络映射驱动器VolumeLabel?
foreach (DriveInfo drive in drives)
{
if (drive.DriveType == DriveType.Network)
mappedDrivesNames.Add(drive.VolumeLabel);
}
但它返回服务器上的列表中的第一个共享文件夹的名称。任何想法,为什么会发生?
答
如果我只是代码
var drive = new DriveInfo("Z");
Console.WriteLine(drive.VolumeLabel);
它向我展示卷的标签的网络共享上。我有我的驱动器Z:连接到Windows XP计算机上的共享,共享位于NTFS格式的驱动器上。如果我删除该卷的标签,程序将输出一个空行。
我不知道如果共享位于Linux机器上,预期结果应该如何。我不知道Linux是否有像Label这样的东西,但我不这么认为。
有趣的问题。 “网络驱动器”不是驱动器的标签。 Windows资源管理器将“网络驱动器”显示为驱动器的类型。在命令框中,'label z:'命令将显示驱动器连接的卷的实际标签。 – comecme 2010-12-16 08:35:24