設計 FileSystemObject (轉)

worldblog發表於2007-12-12
設計 FileSystemObject (轉)[@more@]
要用 FileSystem () 來,則:



  • 使用 CreateObject 方法來建立 FileSystemObject 物件。
  • 在新建立的物件上使用適當的方法。
  • 訪問物件的屬性。
FSO 物件模式包含在 Scripting 5.CHM::/htm/fsoglossary.htm#defTypeLibrary">型別庫中,該庫位於 Scrrun.dll 中。因而,要使用 FSO 物件模式,必須把 Scrrun.dll 放在 的適當目錄中。


建立 FileSystemObject 物件

首先,使用 CreateObject 物件來建立 FileSystemObject 物件, 在 中,使用下面的程式碼來建立 FileSystemObject 的一個例項:


Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

示例程式碼示範瞭如何建立 FileSystemObject 的一個例項。

在 JScript 中,使用下面的程式碼來做同樣的事情:


var fso;
fso = new Object("Scripting.FileSystemObject");

在這兩個示例中,Scripting 是型別庫的名字,而 FileSystemObject 則是想要建立的物件的名字。可以只建立 FileSystemObject 物件的一個例項,而不管試圖建立另一個例項的次數。


使用適當的方法

其次,使用 FileSystemObject 物件的適當方法。例如,要建立一個新的物件,則使用 CreateTextFileCreateFolder (FSO 物件模式不支援器的建立或刪除)。

要刪除物件,則使用 FileSystemObject 物件的 DeleteFileDeleteFolder 方法,或 FileFolder 物件的 Delete 方法。也可以使用適當的方法,來複制和移動檔案與資料夾。










注意 FileSystemObject 物件模式中的某些功能是多餘的。例如,可以用 FileSystemObject 物件的 CopyFile 方法,也可以用 File 物件的 Copy 方法來複制檔案。這兩種方法功能是相同的;兩種方法都能使程式設計靈活。






訪問現有驅動器、檔案和資料夾

要訪問現有驅動器、檔案或資料夾,則使用 FileSystemObject 物件中的適當的 "get" 方法:



  • GetDrive
  • GetFolder
  • GetFile
在 VBScript 中要訪問現有檔案:


Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:test.txt")

在 JScript 中要做同樣的事情,則使用下面的程式碼:


var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:test.txt");

不要對新建立的物件使用 "get" 方法,因為 "create" 已經返回那個物件的一個控制程式碼。例如,如果使用 CreateFolder 方法建立了一個新的資料夾,則不要使用 GetFolder 方法來訪問它的屬性,如 NamePathSize等等。只需設一個變數給 CreateFolder 函式,來獲得新建立資料夾的控制程式碼名,然後訪問它的屬性、方法和事件。要在 VBScript 中這樣做,則使用下面的程式碼:


Sub CreateFolder
Dim fso, fldr
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.CreateFolder("C:MyTest")
Response.Write "Created folder: " & fldr.Name
End Sub

在 JScript 中給 CreateFolder 函式設定一個變數,則使用下面的語法:


function CreateFolder()
{
var fso, fldr;
fso = ActiveXObject("Scripting.FileSystemObject");
fldr = fso.CreateFolder("C:MyTest");
Response.Write("Created folder: " + fldr.Name);
}


訪問物件的屬性

一旦有了物件的控制程式碼,就可以訪問它的屬性。例如,要獲得特定資料夾的名字,首先建立該物件的一個例項,然後用適當的方法獲得它的控制程式碼(在這個例子中是 GetFolder 方法,因為該資料夾已經存在了)。

在 VBScript 中,用該程式碼來獲得 GetFolder 方法的一個控制程式碼:


Set fldr = fso.GetFolder("c:")


在 JScript 中要做同樣的事情,則使用下面的程式碼:


var fldr = fso.GetFolder("c:");

現在,已經有了 Folder 物件的控制程式碼,就可以檢查它的 Name 屬性了。在 VBScript 中使用下面的程式碼來檢查:


Response.Write "Folder name is: " & fldr.Name

在 JScript 中要檢查 Name 屬性,則使用下面的語法:


Response.Write("Folder name is: " + fldr.Name);

要找出最後一次修改檔案的時間,則使用下面的 VBScript 語法:


Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' 獲得要查詢的檔案物件。
Set f1 = fso.GetFile("c:detlog.txt")
' 列印資訊。
Response.Write "File last modified: " & f1.DateLastModified

在 JScript 中要找出同樣的事情,則使用下面的程式碼:


var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// 獲得要查詢的檔案物件。
f1 = fso.GetFile("c:detlog.txt");
// 列印資訊。
Response.Write("File last modified: " + f1.DateLastModified);




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992180/,如需轉載,請註明出處,否則將追究法律責任。

相關文章