文件操作主要包括復制、移動和刪除文件,檢查文件是否存在以及獲取文件的屬性。完成這些操作可以使用 FileSystemObject 或 File 對象的方法。
一、使用 FileSystemObject 對象的相應方法進行文件操作
1、復制文件:將一個或多個文件復制到其他位置上,語法格式如下:
<% fso.CopyFile source,destination[,overwrite] %>
* fso :指定 FileSystemObject 對象的名稱;
* source :表示指定文件的字符串,要復制一個或多個文件時,文件名中可以有通配符;
* destination :表示目標位置的字符串,從 source 復制文件到該位置,不允許使用通配符;
* overwrite :是可選參數,取 Boolean 值,表明是否覆蓋現有文件:如果是 True (默認值),則覆蓋文件;如果是 False ,則不覆蓋現有文件。
注:如果 destinatiion 設為只讀屬性,則無論 overwrite 參數設置為何值,CopyFile 操作無法完成。
只能在 Source 參數的路徑最後一個組成部分中使用通配符。
2、移動文件:將一個或多個文件從某位置移動到另一個位置,語法格式如下:
<% fso.MoveFile source,destination %>
* fso :指定 FileSystemObject 對象的名稱;
* source :指定要移動的文件的路徑,該參數字符串只可在路徑的最後一個組成部分中用通配符;
* destination :指定路徑,表示要將文件移動到該目標位置,該參數不能包含通配符。
注:
* 如果 destination 不存在,則進行文件移動;
* 如果 destination 是已經存在的文件,則會出現錯誤;
* 如果 destination 是目錄,則會出現錯誤;
* 如果 source 使用通配符但沒有匹配的文件時,將會出現錯誤;
* MoveFile 方法在遇到出現的第一個錯誤時停止。該方法不會撤消錯誤發生前所做的任何更改。
3、刪除文件:刪除指定的文件,語法格式如下:
fso.DeleteFile filespec[.force]
* fso:指定 FileSystemObject 對象的名稱;
* filespec 指定要刪除的文件名,在路徑的最後一個組成部分中可以包含通配符;
* force:是可選參數,取Boolean 值,如果要刪除只讀文件,則該值為 True,否則為 False (默認)。;
* 如果沒有找到匹配文件,將會出現錯誤。DeleteFile 方法在遇到出現的第一個錯誤時停止。該方法不會撤消錯誤發生前所做的任何更改。
4、實例1(5/file.asp) 創建一個文本文件並寫入內容,然後執行復制、移動和刪除操作。
<html>
<% @ language="VBScript" %>
<head><title>文件操作</title>
</head>
<body>
<p>正在創建......</p>
<%
Dim fso,txtFile
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set txtFile=fso.CreateTextFile("F:mywebflasher123aspframe55file emp1.txt")
txtFile.WriteLine("Hello!")
txtFile.Close
%>
<p>文件創建成功,並已寫入內容!</p>
<p>正在復制文件.......</p>
<% 'fso.CopyFile "F:mywebflasher123aspframe55file emp1.txt","F:mywebflasher123aspframe55file emp2.txt" %>
<% fso.CopyFile Server.MapPath("temp1.txt"),Server.MapPath("temp2.txt") %>
<p>正在移動文件......</p>
<% fso.MoveFile Server.MapPath("temp2.txt"),Server.MapPath("temp3.txt") %>
<p>正在刪除文件......</p>
<%
fso.deleteFile Server.MapPath("temp1.txt")
fso.DeleteFile Server.MapPath("temp3.txt")
%>
<p>刪除操作執行完畢!</p>
</body>
</html>
二、使用 File 對象的方法操作文件
1、File 對象的方法
File 對象的方法
方 法
描述 / 表達式 / 注解
Cope
將指定的文件或文件夾從某位置復制到另一位置。
object.Copy destination[,overwrite]
參數object指定 File 或 Folder 對象的名稱,destination 指定復制文件或文件夾的目標位置,不允許使用通配符,overwrite 是可選參數,取Boolean 值,若要覆蓋現有文件或文件平,則將該參數設置為 True(默認),否則設置為 False。
Move
將指定的文件或文件夾從某位置移動到另一位置。
object.Move destination
參數object指定 File 或 Folder 對象的名稱,destination 指定復制文件或文件夾的目標位置,不允許使用通配。
Delete
刪除指定的文件或文件夾。
object.Delete force
參數object指定File 或 Folder 對象的名稱。force 是可選參數,取 Boolean 值,如果要刪除的文件或文件夾的屬性設置為只讀屬性,則該值為 True,否遇為 False(默認)。
注:在使用文件對象的方法來操作文件之前,應通過 FileSystemObject 對象的 GetFile 方法來返回與指定路徑中某文件相應的 File 對象。語法格式如下:
object.GetFile(filespec)
object 是FileSystemObject 對象的名稱。filespec 指定文件的路徑(絕對路徑或相對路徑)。
2、實例2(4/file.asp):本例說明如何使用 File 對象的方法執行文件的復制、移動和刪除操作。
<%
dim fso,txtFile,afile
Set fso=Server.CreateObject("Scripting.FileSystemObject")
'創建一個文件,並復制、移動和刪除使用
Set txtFile=fso.CreateTextFile(Server.MapPath("temt1.txt"))
txtFile.WriteLine("Hello!")
txtFile.Close
Set afile=fso.GetFile(Server.MapPath("temt1.txt"))
'復制文件
afile.Copy (Server.MapPath("temt2.txt")),true
'移動文件
afile.Move (Server.MapPath("temt3.txt"))
'刪除文件
afile.Delete
%>
<html>
<head><title>復制、移動和刪除文件</title></head>
<body>
1、創建文件 temt1.txt ;<br>
2、打開 temt1.txt 文件;<br>
3、創建文件 temt1.txt 實例對象。<br>
4、復制 temt1.txt 文件,復制後的文件名為 temt2.txt;<br>
5、將文件temt1.txt 移至為文件 temt3.txt。文件temt1 由文件 text3.txt 替代了。<br>
6、將文件temt3.txt 刪除。因為我們用GetFile 方法創建的是文件 temt1.txt 對象,而這時的 temt1.txt 已由文件 temt3.txt替代了。所以刪除的是文件 temt3.txt。<br>
</body>
</html>