明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

設(shè)計(jì) FileSystemObject

[摘要]要用 FileSystemObject (FSO) 對(duì)象模式來(lái)編程,則:1使用 CreateObject 方法來(lái)創(chuàng)建 FileSystemObject 對(duì)象。 2在新創(chuàng)建的對(duì)象上使用適當(dāng)?shù)姆椒ā?3訪問(wèn)對(duì)象的屬性。 FSO 對(duì)象模式包含在 Scripting 類型庫(kù)中,該庫(kù)位于 Scrrun.dl...
要用 FileSystemObject (FSO) 對(duì)象模式來(lái)編程,則:

1使用 CreateObject 方法來(lái)創(chuàng)建 FileSystemObject 對(duì)象。
2在新創(chuàng)建的對(duì)象上使用適當(dāng)?shù)姆椒ā?
3訪問(wèn)對(duì)象的屬性。
FSO 對(duì)象模式包含在 Scripting 類型庫(kù)中,該庫(kù)位于 Scrrun.dll 文件中。因而,要使用 FSO 對(duì)象模式,必須把 Scrrun.dll 放在 Web 服務(wù)器的適當(dāng)系統(tǒng)目錄中。

創(chuàng)建 FileSystemObject 對(duì)象
首先,使用 CreateObject 對(duì)象來(lái)創(chuàng)建 FileSystemObject 對(duì)象, 在 VBScript 中,使用下面的代碼來(lái)創(chuàng)建 FileSystemObject 的一個(gè)實(shí)例:

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

示例代碼示范了如何創(chuàng)建 FileSystemObject 的一個(gè)實(shí)例。
在 JScript 中,使用下面的代碼來(lái)做同樣的事情:


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

在這兩個(gè)示例中,Scripting 是類型庫(kù)的名字,而 FileSystemObject 則是想要?jiǎng)?chuàng)建的對(duì)象的名字。可以只創(chuàng)建 FileSystemObject 對(duì)象的一個(gè)實(shí)例,而不管試圖創(chuàng)建另一個(gè)實(shí)例的次數(shù)。

使用適當(dāng)?shù)姆椒?br>其次,使用 FileSystemObject 對(duì)象的適當(dāng)方法。例如,要?jiǎng)?chuàng)建一個(gè)新的對(duì)象,則使用 CreateTextFile 或 CreateFolder (FSO 對(duì)象模式不支持驅(qū)動(dòng)器的創(chuàng)建或刪除)。
要?jiǎng)h除對(duì)象,則使用 FileSystemObject 對(duì)象的 DeleteFile 和 DeleteFolder 方法,或 File 和 Folder 對(duì)象的 Delete 方法。也可以使用適當(dāng)?shù)姆椒ǎ瑏?lái)復(fù)制和移動(dòng)文件與文件夾。

注意  FileSystemObject 對(duì)象模式中的某些功能是多余的。例如,可以用 FileSystemObject 對(duì)象的 CopyFile 方法,也可以用 File 對(duì)象的 Copy 方法來(lái)復(fù)制文件。這兩種方法功能是相同的;兩種方法都能使編程靈活。

訪問(wèn)現(xiàn)有驅(qū)動(dòng)器、文件和文件夾
要訪問(wèn)現(xiàn)有驅(qū)動(dòng)器、文件或文件夾,則使用 FileSystemObject 對(duì)象中的適當(dāng)?shù)?"get" 方法:

GetDrive
GetFolder
GetFile
在 VBScript 中要訪問(wèn)現(xiàn)有文件:

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");

不要對(duì)新創(chuàng)建的對(duì)象使用 "get" 方法,因?yàn)?"create" 函數(shù)已經(jīng)返回那個(gè)對(duì)象的一個(gè)句柄。例如,如果使用 CreateFolder 方法創(chuàng)建了一個(gè)新的文件夾,則不要使用 GetFolder 方法來(lái)訪問(wèn)它的屬性,如 Name、Path、Size等等。只需設(shè)一個(gè)變量給 CreateFolder 函數(shù),來(lái)獲得新創(chuàng)建文件夾的句柄名,然后訪問(wèn)它的屬性、方法和事件。要在 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 函數(shù)設(shè)置一個(gè)變量,則使用下面的語(yǔ)法:

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

訪問(wèn)對(duì)象的屬性
一旦有了對(duì)象的句柄,就可以訪問(wèn)它的屬性。例如,要獲得特定文件夾的名字,首先創(chuàng)建該對(duì)象的一個(gè)實(shí)例,然后用適當(dāng)?shù)姆椒ǐ@得它的句柄(在這個(gè)例子中是 GetFolder 方法,因?yàn)樵撐募䦅A已經(jīng)存在了)。
在 VBScript 中,用該代碼來(lái)獲得 GetFolder 方法的一個(gè)句柄:


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

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


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

現(xiàn)在,已經(jīng)有了 Folder 對(duì)象的句柄,就可以檢查它的 Name 屬性了。在 VBScript 中使用下面的代碼來(lái)檢查:

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

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

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

要找出最后一次修改文件的時(shí)間,則使用下面的 VBScript 語(yǔ)法:

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' 獲得要查詢的文件對(duì)象。
Set f1 = fso.GetFile("c:\detlog.txt")  
' 打印信息。
Response.Write "File last modified: " & f1.DateLastModified

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

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// 獲得要查詢的文件對(duì)象。
f1 = fso.GetFile("c:\\detlog.txt");  
// 打印信息。
Response.Write("File last modified: " + f1.DateLastModified);