我根据此处的答案编写了这个 vbs(包含在下面):使用.bat 脚本覆盖映射驱动器名称?
正如我的标题所述,此代码正在更新驱动器 M 和 G 的标签,但应该只更新驱动器 M。两者都转到适当的(不同)位置。
' rename network map.vbs
' VBScript to map a network drive.
' Authors Guy Thomas and Barry Maybury
' Version 1.4 – April 2010
' April 2019, Gary Baddorf - function-ized it
' —————————————-
Option Explicit
NameDrive "\\ad.hs.net\shared", "M:", "CH (\\ad.hs.net\shared\)"
WScript.Quit
Sub NameDrive(strRemotePath, strDriveLetter, strNewName)
Dim objNetwork, objShell, err
Set objShell = CreateObject("Shell.Application")
Set objNetwork = CreateObject("WScript.Network")
' Section to map the network drive
On Error Resume Next
objNetwork.RemoveNetworkDrive strDriveLetter
If Err.Number <> 0 Then
WScript.Echo "Error: " & Err.Description
Err.Clear
End If
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
' Section which actually (re)names the Mapped Drive
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
Wscript.Echo "Check "& strDriveLetter & " for " & strNewName
objNetwork.Dispose()
objNetwork = Nothing
objShell.Dispose()
objShell = Nothing
End Sub
请注意,我可以在此行中切换,但它不执行任何操作:
NameDrive "\\ad.hs.net\shared", "G:", "CH2"
附加信息。我可以在注册表编辑器中查看每个网络路径的 MountPoints2,并且每个驱动器的 _LabelFromReg 值都是正确的。我还删除了它们并再次运行脚本,但没有成功。
答案1
出现此问题并放弃后不久,我重新启动了计算机。当然,驱动器现在有了正确的名称。我不会再弄乱它,看看再次运行脚本是否会遇到相同的问题。我觉得自己很愚蠢,没有早点重新启动,但在使用net use
或注册表编辑时,这对我来说从来都不是问题。