ASP中FileSystemObject對象的使用
這篇文章將跟大家一起分享學(xué)習(xí)的是關(guān)于ASP中FileSystemObject對象的使用,希望對大家有所幫助。
要用 FileSystemObject (FSO) 對象模式來編程,則:
1使用 CreateObject 方法來創(chuàng)建 FileSystemObject 對象。
2在新創(chuàng)建的對象上使用適當(dāng)?shù)姆椒ā?
3訪問對象的屬性。
FSO 對象模式包含在 Scripting 類型庫中,該庫位于 Scrrun.dll 文件中。因而,要使用 FSO 對象模式,必須把 Scrrun.dll 放在 Web 服務(wù)器的適當(dāng)系統(tǒng)目錄中。
創(chuàng)建 FileSystemObject 對象
首先,使用 CreateObject 對象來創(chuàng)建 FileSystemObject 對象, 在 VBScript 中,使用下面的代碼來創(chuàng)建 FileSystemObject 的一個實(shí)例:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
示例代碼示范了如何創(chuàng)建 FileSystemObject 的一個實(shí)例。
在 JScript 中,使用下面的代碼來做同樣的事情:
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
在這兩個示例中,Scripting 是類型庫的名字,而 FileSystemObject 則是想要創(chuàng)建的對象的名字。可以只創(chuàng)建 FileSystemObject 對象的一個實(shí)例,而不管試圖創(chuàng)建另一個實(shí)例的次數(shù)。
使用適當(dāng)?shù)姆椒?
其次,使用 FileSystemObject 對象的適當(dāng)方法。例如,要創(chuàng)建一個新的對象,則使用 CreateTextFile 或 CreateFolder (FSO 對象模式不支持驅(qū)動器的創(chuàng)建或刪除)。
要刪除對象,則使用 FileSystemObject 對象的 DeleteFile 和 DeleteFolder 方法,或 File 和 Folder 對象的 Delete 方法。也可以使用適當(dāng)?shù)姆椒,來?fù)制和移動文件與文件夾。
注意 FileSystemObject 對象模式中的某些功能是多余的。例如,可以用 FileSystemObject 對象的 CopyFile 方法,也可以用 File 對象的 Copy 方法來復(fù)制文件。這兩種方法功能是相同的;兩種方法都能使編程靈活。
訪問現(xiàn)有驅(qū)動器、文件和文件夾
要訪問現(xiàn)有驅(qū)動器、文件或文件夾,則使用 FileSystemObject 對象中的適當(dāng)?shù)?"get" 方法:
GetDrive
GetFolder
GetFile
在 VBScript 中要訪問現(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");
不要對新創(chuàng)建的對象使用 "get" 方法,因?yàn)?"create" 函數(shù)已經(jīng)返回那個對象的一個句柄。例如,如果使用 CreateFolder 方法創(chuàng)建了一個新的文件夾,則不要使用 GetFolder 方法來訪問它的屬性,如 Name、Path、Size等等。只需設(shè)一個變量給 CreateFolder 函數(shù),來獲得新創(chuàng)建文件夾的句柄名,然后訪問它的屬性、方法和事件。要在 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è)置一個變量,則使用下面的語法:
function CreateFolder()
{
var fso, fldr;
fso = new ActiveXObject("Scripting.FileSystemObject");
fldr = fso.CreateFolder("C:\\MyTest");
Response.Write("Created folder: " + fldr.Name);
}
訪問對象的屬性
一旦有了對象的句柄,就可以訪問它的屬性。例如,要獲得特定文件夾的名字,首先創(chuàng)建該對象的一個實(shí)例,然后用適當(dāng)?shù)姆椒ǐ@得它的句柄(在這個例子中是 GetFolder 方法,因?yàn)樵撐募䦅A已經(jīng)存在了)。
在 VBScript 中,用該代碼來獲得 GetFolder 方法的一個句柄:
Set fldr = fso.GetFolder("c:\")
在 JScript 中要做同樣的事情,則使用下面的代碼:
var fldr = fso.GetFolder("c:\\");
現(xiàn)在,已經(jīng)有了 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);