Windows下使用腳本語言操作文件系統之三-FSO對象

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對象等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章