从命令行而不是Windows资源管理器命名网络驱动器

时间:2014-01-09 15:51:04

标签: windows batch-file powershell command-line cmd

我正在编写批处理文件,将多台服务器映射到PC上的驱动器。使用NET USE命令,我已成功映射驱动器。

在Windows资源管理器中查看时,每个驱动器都会显示字母分配和服务器名称。我想在Explorer视图中为每个服务器显示一个用户友好的普通英文名称(这与卷标签不同)。我可以在资源管理器中单独右键单击每个驱动器并重命名,但这有点啰嗦。

是否可以通过命令提示符(以及批处理文件)将名称分配给驱动器,而不是在资源管理器中右键单击并重命名?

2 个答案:

答案 0 :(得分:2)

你可以在Powershell中这样做:

$rename = new-object -ComObject Shell.Application
$rename.NameSpace("X:\").Self.Name = "DriveLabel"

只需将X替换为您要设置标签的驱动器号。

或者,如果您不想使用Powershell,您可以执行以下操作:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##computername#sharename" /f /v "_LabelFromReg" /t REG_SZ /d "DriveLabel"

当然,您必须使用servername替换computername,使用共享名称替换sharename,使用标签替换Drivelabel

答案 1 :(得分:2)

映射网络驱动器的“label”值存储在注册表中。

查看HKEY_USERS \ * SID * \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ MountPoints2。应该有一个代表映射网络驱动器的密钥。如果有一个名为_LabelFromReg的值,则您有一个自定义标签,如果该值不存在,则它使用默认标签,例如Windows(\ server \ share)(Z :)。

您还应该能够使用组策略首选项以及网络文件夹和快捷方式来获取所需的标签。