如何使用C#更改逻辑驱动器的名称?

如何使用C#更改逻辑驱动器的名称?,c#,C#,我现在知道如何获取所有逻辑驱动器,如何创建并销毁它 知道如何修改逻辑驱动器的标签对我来说非常重要。 假设磁盘标签是NewDisk,我创建了一个逻辑磁盘,它映射了NewDisk中的某个路径。然后,这个逻辑磁盘的字母是,比方说M,但是它的标签是NewDisk(它显示为“NewDisk(M:)”) 那么,如何使用C#将逻辑驱动器M的标签更改为“NewDisk”以外的内容呢 谢谢您可能需要DriveInfo类上的VolumeLabel。。。和磁盘具有标签。。。不太清楚“逻辑驱动器名称”是什么意思。。。假

我现在知道如何获取所有逻辑驱动器,如何创建并销毁它

知道如何修改逻辑驱动器的标签对我来说非常重要。 假设磁盘标签是NewDisk,我创建了一个逻辑磁盘,它映射了NewDisk中的某个路径。然后,这个逻辑磁盘的字母是,比方说M,但是它的标签是NewDisk(它显示为“NewDisk(M:)”)

那么,如何使用C#将逻辑驱动器M的标签更改为“NewDisk”以外的内容呢


谢谢

您可能需要DriveInfo类上的VolumeLabel。。。和

磁盘具有标签。。。不太清楚“逻辑驱动器名称”是什么意思。。。假设您使用了
subst
将某个路径映射到文件夹-请您的帖子澄清(这种映射没有自己的标签,因为它不是磁盘).“假设磁盘名为NewDisk,我创建了一个逻辑磁盘,它映射到NewDisk中的某个路径”-这听起来像是一个虚拟驱动器,它们的名称不能完全更改。如果双击虚拟驱动器并分配卷标签,则只会显示一个错误。一个技巧是,您可以右键单击驱动器并转到“重命名”,它将显示一个看起来像卷标的名称,但实际上它只是在当前用户下创建的注册表项。根据您的建议,您可以编辑标签的HKLM,我假设该标签适用于所有用户。@Alexei Levenkov我不需要使用subst进行编辑,因为有一个使用C#的有效解决方案(如我在问题的第一句中提到的)。很抱歉,当使用单词名称而不是标签时会产生“误导”。因此,从您所说的来看,无法修改逻辑驱动器的标签?我试图设置我创建的虚拟驱动器的DriveInfo实例的VolumeLabel属性,但引发了一个IOException—“该目录不是根目录的子目录。”。根据,您必须尝试其他子目录。我不确定这是否适用于虚拟驱动器。