检查驱动器是否已映射并处于活动状态

时间:2015-06-17 14:12:42

标签: vbscript mapped-drive

我的VBScript中有一项要求,即确保驱动器已映射并可以联系。

最初我只使用了DriveExists()的{​​{1}}方法,但是在某些情况下,用户在办公室开始这一天,然后带着他们的笔记本电脑巡视,而不关闭;因此,有问题的驱动器仍然列为已映射,但不可联系。

要解决此问题,我创建了以下函数,但由于使用了FileSystemObject,它看起来有点脏。

所以我的问题是这个;是否有一种方法可以实现我在VBS中内置的目标,或者是我的方法(或类似方法)是唯一可行的方法?

On Error Resume Next

1 个答案:

答案 0 :(得分:1)

来自Windows Scripting文档的

Function ShowDriveList
   Dim fso, d, dc, s, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
   For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - " 
      If d.DriveType = 3 Then
         n = d.ShareName
      ElseIf d.IsReady Then
         n = d.VolumeName
      Else
         n = "[Drive not ready]"
      End If
      s = s & n & "<BR>"
   Next
   ShowDriveList = s
End Function

也许你还需要

Function ShowDriveType(drvpath)
   Dim fso, d, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(drvpath)
   Select Case d.DriveType
      Case 0: t = "Unknown"
      Case 1: t = "Removable"
      Case 2: t = "Fixed"
      Case 3: t = "Network"
      Case 4: t = "CD-ROM"
      Case 5: t = "RAM Disk"
   End Select
   ShowDriveType = "Drive " & d.DriveLetter & ": - " & t
End Function