[英]Set Drive VolumeLabel
I am working on a small utility where I would like to change the volume label on flash drives that are connected to the computer. 我正在开发一个小实用程序,我想更改连接到计算机的闪存驱动器上的卷标。 I know that DriveInfo is capable of doing it but I am at a loss as for how to accomplish it.
我知道DriveInfo能够做到这一点,但我不知道如何实现它。 If anyone has a code sample I would really appreciate it.
如果有人有代码示例,我会非常感激。
Here is what i currently have: 这是我目前拥有的:
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.IsReady && d.DriveType == DriveType.Removable)
{
//set volume label here
}
}
Thanks James! 谢谢詹姆斯! I don't know why I had so many issues with this but you got me going down the right path.
我不知道为什么我有这么多问题,但你让我走上了正确的道路。
Here is the final code to set the drive label. 以下是设置驱动器标签的最终代码。 For anyone else that uses this, it will change the name of ANY removable drive that is attached to the system.
对于使用此功能的任何其他人,它将更改连接到系统的任何可移动驱动器的名称。 If you need to only change the names of specific drive models you can use WMI's
Win32_DiskDrive
to narrow it down. 如果只需要更改特定驱动器型号的名称,可以使用WMI的
Win32_DiskDrive
来缩小范围。
public void SetVolumeLabel(string newLabel)
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.IsReady && d.DriveType == DriveType.Removable)
{
d.VolumeLabel = newLabel;
}
}
}
public string VolumeLabel { get; set; }
// Setting the drive name
private void button1_Click(object sender, EventArgs e)
{
SetVolumeLabel("FlashDrive");
}
Have you tried DriveInfo.VolumeLabel? 你试过DriveInfo.VolumeLabel吗?
http://msdn.microsoft.com/en-us/library/system.io.driveinfo.volumelabel.aspx http://msdn.microsoft.com/en-us/library/system.io.driveinfo.volumelabel.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.