深入解析ASP核心技术
上QQ阅读APP看书,第一时间看更新

1.2 驱动器集合

FSO对象的Drives属性返回所有驱动器的集合,可以使用For Each语句遍历它,集合中的每一项都是一个Drive对象。

下例遍历所有的驱动器,并输出盘符及驱动器类型。

driveList.asp

<%@codepage=936%>
<%
Response.Charset = "GBK"
Set fso = CreateObject("Scripting.FileSystemObject")
Set driveList = fso.Drives   '取得Drives集合

'驱动器个数
response.write "驱动器个数:" & driveList.count & "<br>"

'输出所有驱动器的盘符及类型
For Each drive In driveList
    Response.Write "驱动器" & drive.DriveLetter
    Response.Write ", " & GetDriveTypeName(drive.DriveType) & "<br>"
Next
Set fso = nothing

'取得驱动器类型的名称
Function GetDriveTypeName(driveTypeNumber)
    Dim name
    Select Case driveTypeNumber
    Case 1
      name = "可移动磁盘"
    Case 2
      name = "硬盘"
    Case 3
      name = "网络共享"
    Case 4
      name = "光驱"
    Case 5
      name = "RAM磁盘"
    Case Else
      name = "未知类型"
    End Select
    GetDriveTypeName = name
End Function
%>

运行结果如图1-1所示。

图1-1 遍历所有的驱动器

Drive对象的DriveLetter属性返回此驱动器的盘符字母,而DriveType属性返回驱动器的类型,它的返回值是一个数字,数字的含义如表1-2所示。

表1-2 DriveType属性

上例中的GetDriveTypeName方法是一个自定义方法,它根据数字返回对应的文字。