VBS中FileSystemObject对象详解(完整版)

2019-01-15 19:09:06王旭

因此,通过使用 Drives 集合里的 Drive 对象,可以在服务器上产生一个驱动器列表,与通过检查每个可能的驱动器字母来判别驱动器是否存在的方法相比,效率更高。我们也可以得到关于该驱动器的信息。

示例:

' 创建FileSystemObject对象 Set objFSO = CreateObject("Scripting.FileSystemObject") ' 创建Drives集合,并赋值给colDrives Set colDrives = objFSO.Drives ' 遍历Drives集合 For Each objDrive in colDrives '判断驱动器是否已准备好 If objDrive.IsReady Then msg = "驱动器的名称为:" & objDrive.DriveLetter & " " msg =msg & "驱动器文件系统的类型:" & objDrive.FileSystem &" " msg = msg & "驱动器的总容量:" & int(objDrive.TotalSize/(1024*1024*1024)) & "G " msg = msg & "剩余空间的总量:" & int(objDrive.FreeSpace/(1024*1024*1024)) & "G " End If Next reporter.ReportEvent micDone ,"遍历Drives集合",msg

备注:在系统上运行这段程序以前有一点要注意。如果在 A 驱动器里没有磁盘,或 CD-ROM 驱动器里没有光盘,将得到一个错误提示:“Disk Not Ready”。除了 DriveLetter 属性和 DriveType 属性外,在使用其他属性和方法前,通过检查每个驱动器的 IsReady 属性,可以保护该页面。

二、FileSystemObject 对象的方法

1. 与驱动器有关的方法

表3 与驱动器有关的方法及说明

方法

说明

DriveExists(drivespec)

如果在 drivespec 中指定的驱动器存在,则返回 True,否则返回 False。drivespec 参数可以是一个驱动器字母,或者是文件、文件夹的完整绝对路径

GetDrive(drivespec)

返回 drivespec 指定的驱动器所对应的Drive对象。drivespec 可以包含冒号、路径分隔符或者是网络共享名,即:“C”、“C:”、“C:”及“/machinesharename”

GetDriveName(drivespec)

用字符串返回 drivespec 指定的驱动器的名称。drivespec 参数必须是文件或文件夹的绝对路径,或者仅仅是驱动器字母,例如:“c:”或“c”

 DriveExists的使用

方法名:DriveExists(drivespec)

说明:如果在 drivespec 中指定的驱动器存在,则返回 True,否则返回 False。drivespec 参数可以是一个驱动器字母,或者是文件、文件夹的完整绝对路径

示例:

' 创建FileSystemObject对象 Set objFSO = CreateObject ("Scripting.FileSystemObject") For intCode = 65 To 90 'ANSI codes for 'A' to 'Z' strLetter = Chr(intCode) 'Chr:返回与指定的 ANSI 字符代码相对应的字符。 If objFSO.DriveExists(strLetter) Then '判断相应的盘符是否存在,如存在输出 Reporter.ReportEvent micDone,"Show Drive”,” Found drive " & strLetter End If Next