FileSystemObject对象【1】:Drive对象和Drives集合


1、什么是Scripting.FileSystemObject对象

  • FileSystemObject(文件系统对象,简称FSO),提供了在windows中操作本地文件和文件夹的功能。不管你是使用VC、VB等编程语言,还是使用VBScript(网页脚本,限IE浏览器)、VBA(Office脚本)等脚本语言。
  • FSO 对象模型可以实现文件(夹)的创建、改变、移动和删除等常见操作,也可以获取文件(夹)的名称、大小、属性、创建日期或最近修改日期等信息,还可以检测是否存在指定的文件夹。通过FSO 对象模型可以获取当前系统驱动器信息,如驱动器的种类(CD-ROM还是可移动磁盘)、磁盘剩余空间等等。
  • FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了FileSystemObject、Drive、Folder、File和TextStream五个对象。其中FileSystemObject是顶层对象;Drive用来收集驱动器的信息;Folder用于文件夹的创建、删除、移动、复制、查询路径等操作;File用于文件的创建、删除、移动、复制;TextStream对象则是用来完成对文件的读写操作的。

2、创建FSO对象的两种方法

2.1、前期绑定

先引用“Microsoft Scripting Runtime”,然后将一个变量声明为FSO对象类型:

Dim objFso As New FileSystemObject

2.2、后期绑定

直接:Set objFso = CreateObject(“Scripting.FileSystemObject")。

2.3、优缺点比较

第一种方式的优点是输入FSO的对象时会给出提示,缺点是需要绑定库;
第二种方式的优缺点反之。

3、Drives

  • 返回计算机上关于所有Drive对象的集。

3.1、Count

  • 返回集合中Drive对象的数目,Long类型。
Option Explicit
Set objFSO = CreateObject("Scripting.FileSystemObject")
'返回计算机上驱动器数量
MsgBox objFSO.Drives.Count
MsgBox objFSO.Drives.Item("c")		'返c:
MsgBox objFSO.Drives.Item("c:")		'返c:
MsgBox objFSO.Drives.Item("c:\")	'返c:

3.2、Item

  • oDrives.Item(Key)
  • 返回一个键为Key(驱动器名)的Drive对象。Drive对象集合不是普通的集合,因此不能使用驱动器的索引值(在集合中的位置序号),否则将产生运行时错误“无效的过程调用或参数”。
  • 由于读取一个不存在的驱动器的Drive对象会产生运行时错误,因此最好先调用FileSystemObject对象的DriveExists方法。
Option Explicit

Dim objFso
Dim objDrives
Dim objDrive

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objDrives=objFso.Drives
Set objDrive=objDrives.Item("C")
msgbox objDrive.DriveType
Set objDrive=Nothing
Set objDrives=Nothing
Set objFso=Nothing

4、Drive对象

  • Drive对象可以用于访问计算机或服务器上指定的驱动器的属性。
  • Drive对象不支持任何方法。
  • Drive对象的所有属性都是只读的。

4.1、AvailableSpace属性

返回磁盘可用的空间,以字节表示,Variant类型。

4.2、FreeSpace属性

与AvailableSpace属性相同,返回磁盘上的可用空间,Variant类型。

4.3、DriveLetter属性

返回驱动器盘符,不带冒号,String类型。

4.4、DriveType属性

  • 返回驱动器类型,DriveType常量:
    • 0代表未知,
    • 1代表可移动,
    • 2代表固定,
    • 3代表网络,
    • 4代表CD-ROM,
    • 5代表RAM磁盘。
Option Explicit

Dim objFso
Dim objDrives
Dim objDrive
const CDROM=4
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objDrives=objFso.Drives
for Each objDrive in objDrives
	if objDrive.DriveType=CDROM then
		msgbox objDrive.DriveLetter+"盘是CD-ROM驱动器"
	end if
next

Set objDrive=Nothing
Set objDrives=Nothing
Set objFso=Nothing

4.5、FileSystem属性

返回所安装的文件系统,例如FAT、NTFS或CDFS,String类型。

4.6、IsReady属性

  • Boolean类型。
  • 对硬盘而言,应该总是返回True。
  • 对于可移动驱动器而言,如果插入了合适的媒介(例如CD-ROM盘)并且可以访问,则返回True。
Function IsCDROMReady(strDriveLetter)
	Dim objFso,objDrive
	Set objFso=CreateObject("Scripting.FileSystemObject")
	Set objDrive=objFso.GetDrive(strDriveLetter)
	IsCDROMReady=(objDrive.DriveType=4) And objDrive.IsReady=True
End Function

4.7、Path属性

返回根文件夹的路径,驱动器名后紧跟一个冒号(例如C:),String类型。这是Drive对象的默认属性。

4.8、RootFolder属性

返回表示根文件夹的Folder对象,可以以此访问文件系统的其余部分。

4.9、SerialNumber属性

返回驱动器系列号,Long类型。

4.10、ShareName属性

用于网络共享,指计算机的网络共享名(例如\NTSERV1\TestWork),String类型。

4.11、TotalSize属性

返回驱动器总容量,以字节表示,Variant类型。

4.12、VolumeName属性

指驱动器卷标名(如果指定了驱动器卷标的话),String类型。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值