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對象模型結構
對象/集合 | 描述 |
主對象.包含了驅動器、文件和文件夾的操作、創建、刪除、獲得信息的屬性和方法。 | |
對象.包含了獲取文件系統驅動器信息的屬性和方法,如共享名稱,可用空間大小。注意驅動器並不是僅僅代表硬盤,也可以是CD-ROM驅動器、RAM磁盤等等。驅動器不但可以是連接到系統上的物理設備,也可以通過網絡連接的邏輯設備. | |
集合.提供了存在於系統上的驅動器的列表,包括物理和邏輯的。Drives集合包含了任何類型的驅動器. 移動媒體驅動器不需要插入也能在集合中出現. | |
對象.包含了創建、刪除、移動一個文件的屬性和方法,也允許查詢文件的文件名稱、路徑和其他的一些屬性. | |
集合.提供一個文件夾中包含的文件. | |
對象.包含了創建、刪除、移動文件夾的屬性和方法,也允許查詢文件夾的名稱、路徑和其他的一些屬性. | |
集合.提供了一個Folder對象內的文件夾. | |
對象.允許讀寫一個文本文件. |
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
這裏指出幾個重要的方法:
GetFile用來返回File對象,用來操作文件 GetFolder用來返回Folder對象,用來操作文件夾 OpenTextFile用來返回TextStream對象,用來操作文本文件 |
FSO對象屬性
描述
返回一個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對象等。