FileSystemObject对象模型

FSO对象模型包括了FSO对象和其他四个对象以及两个集合,它们可以用来:

  • 创建、修改、移动、删除文件或文件夹,判定一个文件和文件夹是否存在。

  • 获取文件系统的驱动器的信息,以及获取文件夹的信息,如名称、创建日期或最后修改日期。

  • FSO对象模型还提供了一种非层次性的结构,用来操作、读取和创建 ASCII 和 Unicode文本文件。

FSO对象模型的用途

FSO对象模型可以进行简易的文件处理。当你使用脚本或应用程序需要创建、删除、改变数据,以及和输出数据后,你的主要目标是将数据存储在一个高效易于访问的格式中,并且你不想增加系统开销或者使用一个功能全面数据库来存储数据,那么在这种情况下,使用FSO对象将数据存储在一个文本文件是最有效的解决方案。

要想使用FSO对象模型,Scrrun.dll文件必须存在于操作系统中,可以通过安装下列程序包之一来获取 Scrrun.dll

   Windows Script Host

   Windows NT Option Pack

   Microsoft Internet Information Server 3.0

   Scripting 3.1 upgrade

   Visual Studio 6.0

   Visual Basic 6.0

FSO对象模型结构

对象/集合

描述

FileSystemObject

主对象.包含了驱动器、文件和文件夹的操作、创建、删除、获得信息的属性和方法。

Drive

对象.包含了获取文件系统驱动器信息的属性和方法,如共享名称,可用空间大小。注意驱动器并不是仅仅代表硬盘,也可以是CD-ROM驱动器、RAM磁盘等等。驱动器不但可以是连接到系统上的物理设备,也可以通过网络连接的逻辑设备.

Drives

集合.提供了存在于系统上的驱动器的列表,包括物理和逻辑的。Drives集合包含了任何类型的驱动器. 移动媒体驱动器不需要插入也能在集合中出现.

File

对象.包含了创建、删除、移动一个文件的属性和方法,也允许查询文件的文件名称、路径和其他的一些属性.

Files

集合.提供一个文件夹中包含的文件.

Folder

对象.包含了创建、删除、移动文件夹的属性和方法,也允许查询文件夹的名称、路径和其他的一些属性.

Folders

集合.提供了一个Folder对象内的文件夹.

TextStream

对象.允许读写一个文本文件.


FileSystemObject对象

描述

提供访问计算机文件系统的功能

FSO对象方法

BuildPath Method| CopyFile Method | CopyFolder Method | CreateFolder Method | CreateTextFile Method | DeleteFile Method | DeleteFolder Method |DriveExists Method | FileExists Method | FolderExists Method | GetAbsolutePathName Method | GetBaseName Method | GetDrive Method | GetDriveName Method | GetExtensionName Method | GetFile Method | GetFileVersion Method | GetFileName Method | GetFolder Method | GetParentFolderName Method| GetSpecialFolder Method | GetStandardStream Method | GetTempName Method | MoveFile Method | MoveFolder Method | OpenTextFile Method

这里指出几个重要的方法:

GetDrive用来返回Drive对象,用来查询驱动器信息

GetFile用来返回File对象,用来操作文件

GetFolder用来返回Folder对象,用来操作文件夹

OpenTextFile用来返回TextStream对象,用来操作文本文件

FSO对象属性

Drives Property

描述

返回一个Drives集合,集合中包含了所有驱动器的Dirve对象,就是说计算机上有n个驱动器,那么Drives集合就包含了n个Drive对象

语法

object.Drives

下面代码演示通过FSO对象实例化一个驱动器集合"colDrives",并查看集合内每个驱动器(Drive对象)的属性:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives
For Each objDrive in colDrives
Wscript.Echo "Available space: " & objDrive.AvailableSpace
Wscript.Echo "Drive letter: " & objDrive.DriveLetter
Wscript.Echo "Drive type: " & objDrive.DriveType
Wscript.Echo "File system: " & objDrive.FileSystem
Wscript.Echo "Is ready: " & objDrive.IsReady
Wscript.Echo "Path: " & objDrive.Path
Wscript.Echo "Root folder: " & objDrive.RootFolder
Wscript.Echo "Serial number: " & objDrive.SerialNumber
Wscript.Echo "Share name: " & objDrive.ShareName
Wscript.Echo "Total size: " & objDrive.TotalSize
Wscript.Echo "Volume name: " & objDrive.VolumeName
Next

关于Drive对象的属性,请参考下篇博文:Windows下使用脚本语言操作文件系统之四-Drive对象

http://967169.blog.51cto.com/957169/1223462

FSO对象语法

使用CreateObject方法创建一个FileSystemObject对象,以下代码展示了如何使用不同脚本语言创建FSO对象:

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
var fso;
fso = newActiveXObject("Scripting.FileSystemObject");

在上面例子中, Scripting是type库,FileSystemObject是创建的对象名称,无论你多次尝试创建另外的实例,你只可以使用一个FileSystemObject对象的实例。

实例化FSO对象后,根据不同的需求,我们可以通过FSO对象的不同方法来返回不同的对象,如返回查看驱动器信息的Drvie对象、进行文件处理的File对象以及文本文件处理的TextStream对象等。