VBS基础篇 - 对象(4) - Drive对象
描述:提供对特定磁盘驱动器或网络共享属性的访问,从FSO对象的GetDrive方法获得。可以用 Drive 对象来获得有关各种驱动器的信息,这些驱动器是实物地或通过网络连接到系统上的。
它的属性可以用来获得下面的信息内容:
驱动器的总容量,以字节为单位(TotalSize 属性)
驱动器的可用空间是多少,以字节为单位(AvailableSpace 或 FreeSpace 属性)
哪个号被赋给了该驱动器(DriveLetter 属性)
驱动器的类型是什么,如可移动的、固定的、网络的、CD-ROM 或 RAM 磁盘(DriveType 属性)
驱动器的序列号(SerialNumber属性)
驱动器使用的文件系统类型,如 FAT、FAT32、NTFS 等等(FileSystem 属性)
驱动器是否可以使用(IsReady 属性)
共享和/或卷的名字(ShareName和 VolumeName属性)
驱动器的路径或根文件夹(Path 和 RootFolder 属性)
使用Drive对象
Drive对象模型来编程必须先用FileSystemObject(FSO)对象的GetDrive方法获取文件的句柄
1、使用 CreateObject 方法来创建 FileSystemObject 对象
2、使用GetDrive方法获取文件夹的句柄
3、在创建的Drive对象上使用适当的方法
4、访问对象的属性
属性:(仅常用的属性)
AailableSpace
描述:返回指定的驱动器或网络共享对于用户的可用空间大小
语法:object.AvailableSpace
参数:object 应为 Drive 对象的名称
说明:AvailableSpace 属性与 FreeSpace 属性返回的值基本相同。对于支持限额的计算机系统来说,这两个属性返回的值有所差异。
示例:显示C盘的可用空间大小
Dim Fso,MyDriver Dim AvailableSpace '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'AvailableSpace属性获取当前磁盘驱动器的可用大小 AvailableSpace = MyDriver.AvailableSpace/1024/1024/1024 'FormatNumber格式化大小,精确到小数点后一位 AvailableSpace = FormatNumber(AvailableSpace,1) MsgBox AvailableSpace&"GB" '输出当前磁盘驱动器可用大小,单位为GB
DriveType
描述:返回一个描述指定驱动器的类型的值。
语法:object. DriveType
参数:object 应为 Drive 对象的名称。
返回值:
0: "未知磁盘类型"
1: "可移动磁盘"
2: "本地磁盘"
3: "网络磁盘"
4: "CD-ROM"
5: "RAM 磁盘"
示例:获取C盘的磁盘类型
Dim Fso,MyDriver Dim DriveType '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'DriveType属性,获取当前磁盘驱动器的类型 DriveType = MyDriver.DriveType Select Case DriveType Case 0 : MsgBox "未知磁盘类型" Case 1 : MsgBox "可移动磁盘" Case 2 : MsgBox "本地磁盘" Case 3 : MsgBox "网络磁盘" Case 4 : MsgBox "CD-ROM" Case 5 : MsgBox "RAM 磁盘" End Select
FileSystem
描述:返回指定的驱动器使用的文件系统的类型。
语法:object. FileSystem
参数:object 应为 Drive 对象的名称。
说明:可用的返回类型包括 FAT、NTFS 和 CDFS。
示例:查看C盘的文件系统格式
Dim Fso,MyDriver Dim FileSystem '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'FileSystem属性,获取当前磁盘驱动器的文件类型 FileSystem = MyDriver.FileSystem Msgbox FileSystem
IsReady
描述:如果指定的驱动器就绪,返回 True;否则返回 False。
语法:object. IsReady
参数:object 应为 Drive 对象的名称。
注意:对于可移动媒体驱动器和 CD-ROM 驱动器,仅当插入相应的媒体并准备接受访问时,IsReady才返回 True。
示例:查看C盘是否就绪
Dim Fso,MyDriver Dim IsReady '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'IsReady属性,获取当前磁盘驱动器的就绪状态 IsReady = MyDriver.IsReady MsgBox IsReady
Path
描述:返回指定文件、文件夹或驱动器的路径。
语法:object.Path
参数:object 应为 File、Folder 或 Drive 对象的名称。
说明:对于驱动器,路径不包含根目录。
示例:返回驱动器C的路径。返回的驱动器的路径是 C:,而不是 C:\。
Dim Fso,MyDriver Dim Path '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'Path属性,获取当前指定磁盘驱动器的路径 Path = MyDriver.Path MsgBox Path
RootFolder
描述:返回一个 Folder 对象,表示指定驱动器的根文件夹。只读。
语法:object. RootFolder
参数:object 应为 Drive 对象的名称。
说明:使用返回的 Folder 对象,可以访问指定驱动器包含的所有文件和文件夹。
示例:返回驱动器C的根文件夹。将会返回"c:\"注意,有反斜杠。
Dim Fso,MyDriver Dim RootFolder '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'RootFolder属性,获取当前指定磁盘驱动器的根文件夹 RootFolder = MyDriver.RootFolder MsgBox RootFolder
VolumeName
描述:设置或返回指定驱动器的卷标。可读写。
语法:object. VolumeName [= newname]
参数:object必选项。应为 Drive 对象的名称。
newname可选项。如果提供此参数,则 newname 为指定的 object 的新名称。
示例:返回驱动器C的VolumeName
Dim Fso,MyDriver Dim VolumeName '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '使用GetDrive方法获取驱动器的句柄 Set MyDriver = Fso.GetDrive("c:\") 'VolumeName属性,获取当前指定磁盘驱动器的VolumeName VolumeName = MyDriver.VolumeName MsgBox VolumeName