vbscript如果驱动器号和路径匹配,则删除映射驱动器

时间:2015-04-27 00:28:56

标签: vbscript

以下是我所拥有的vbscript,如果它与字母和路径匹配,它应该删除netwrok驱动器,但它不能正常工作,并且阵列显示13个映射驱动器,我的计算机上只有5个。它不是要检查用户映射计算机上的所有可用映射驱动器吗?

    Set objShell = CreateObject("Wscript.Shell")

Set objNet = WScript.CreateObject("Wscript.Network") 

Set objExec = objShell.Exec("net use ") 
strMaps = LCase(objExec.StdOut.ReadAll)
MapArray=split(strMaps,CHR(10))

for x=1 to ubound(MapArray) 
    if instr(MapArray(x),"W:") AND instr(mapArray(x),"\\path\folder$") then 
        objNet.RemoveNetworkDrive "W:",true,true
    end if

    if instr(MapArray(x),"U:") AND instr(mapArray(x),"\\path\folder$") then
            objNet.RemoveNetworkDrive "U:"
    end if  

next

1 个答案:

答案 0 :(得分:2)

枚举网络驱动器。

Set NetDrives = WScript.CreateObject("WScript.Network").EnumNetworkDrives
For X = 0 to NetDrives.Count -1 Step 2
    MsgBox NetDrives(x) & " " & NetDrives(x+1)
Next

做你想做的事。我们通常不做测试。我们做并测试发生了什么。对大多数事情进行测试通常会占用与此相同的资源。

On Error Resume Next
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.RemoveNetworkDrive "Y:"
Msgbox err.description    

同样涉及文件和注册表(因为用户删除)和网络或互联网(因为本质上是不可靠的)应该使用错误处理。