標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: 第十九章 對文件、驅動器和文件夾的操作 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 10:48上午 | IP記錄 引用 bibi

這一整章都是用來講述對文件進行操作的組件。在你的頁面中使用這些組件,你就可以完全獲得對計算機文件系統的控制權。第一部分是 大概的全面介紹。第二個部分,你就可以去讀寫一個文本文件。第三部分則是對文件的屬性、方法以及集合的操作。最後一部分則是處理 文件夾和驅動器。
Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 10:48上午 | IP記錄 引用 bibi

簡介對文件操作的組件

在以前的IIS版本中,你會感到對文件操作的限制有些過分,你只能讀寫一些文本文件,這種限制對於熟練的程序員是很難受的,例如 ,無法直接得到諸如一個文件是否存在的信息。

 

幸好,IIS4.0版已經令人激動的將這種局面進行了改變。在這個版本的Active Server Pages中有很多組方法、屬性、集合來對文件進行操作處理。利用Active Server Pages腳本,你就幾乎完全可以控制服務器的文件系統。

 

作到這些,需要如下的組件:

■FileSystemObject:這個對象包括了一些基本的對文件系統進行操作的方法,比如說,複製和刪除文件夾或者文件

■TextStream:這個對象用來讀寫文件

■File:它的方法和屬性被用來處理單獨的文件。

■Folder:它的方法和屬性被用來處理文件夾。

 

在讀完後面部分後,你會明白這些具體操作過程是怎樣進行的,那麼如果希望瞭解全部的有關集合、屬性和方法列表,參見本書附錄A的 有關部分。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 10:49上午 | IP記錄 引用 bibi

在一個文件中讀寫數據

這部分介紹如何讀寫一個文本文件。這對文本文件有很多用處,包括下面這些。

■一個常用的日誌,利用文本文件記錄訪問者的活動以供日後參考。你可以記錄諸如訪問者IP地址,瀏覽器類型等等你能得到而且想要 瞭解的東西。

■Form中的數據,你可以將用戶在Form的文本框中填寫的東西記入文本文件,儘管使用數據庫會更加有效。

■每日新聞,將每日的新消息記錄到文本文件,然後可以在很多文件中讀出來顯示

 

對文本文件的寫操作

要創建並且寫入一個文本文件,你應當使用FileSystemObject和TextStream對象。首先,你需要創建一個F ileSystemObject對象的事例,然後,再利用CreateTextFile()以該事例創建一個TextStrea m對象的事例,最後利用TextStream對象的WriteLine()方法來寫入文件。下面是這個例子:

 

<%

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyTextFile=MyFileObject.CreateTextFile(「c:\mydir\test.txt」)

MyTextFile.WriteLine(「歡迎進入邁至科網絡ASP教程文件操作示例!」

MytextFile.Close

%>

 

這個例子創建了一個名字為test.txt的文件,該文件位於c:\mydir\,WriteLine()方法被用來將那一句話 寫入該文件。最後,這個TextStream對象的事例關閉並且釋放所有資源,下面部分將對每一個步驟進行仔細解釋。

 

注意

如果你需要虛擬路徑轉化為真實路徑(這樣操作使得站點具有更強的可移植性),可以用Server.MapPath()方法,例如 下面這個例子:

PhysicalPath=Server.MapPath(「/private/test.txt」)

假設虛擬路徑/private對應於真實路徑c:\net\private,那麼這個PhysicalPath的值將是c:\n et\private\test.txt

 

CreateTextFile()方法用來創建一個新的文本文件,當這個方法被調用,那麼就返回一個TextStream對象, 這個方法有一個必須的參數和兩個可選的參數。

■FileSpecifier,限定要創建的文件及路徑,如果沒有這個參數,顯然是要報錯的。

■Overwrite,這個參數是可選的,默認為TRUE,如果存在同名的文件,依據這個參數判斷是否進行覆蓋操作,如果賦為F ALSE,那麼存在同名文件時會返回錯誤信息。

■Unicode,這個參數可選,默認為False,指示該文件是否用ASC碼形式進行創建和保存。如果選擇TRUE,將以Un icode方式創建。


再利用CreateTextFile()方法創建了文本文件後,你就可以使用TextStream對像來對文件進行讀寫,在寫操 作時,有如下的方法:

■Write(String).這個方法將一個字段寫入文本文件。

■WriteLine(String),這個方法是在文件中添加字串和一個分行符,這裡面的string參數可選,如果沒有的話 ,則添加一個分行符。

■WriteBlankLines(lines),顧名思義,這是允許用戶在文件中指定數目個分行符。

■close.這個方法就是關閉一個打開的TextStream文件並釋放其佔用的資源。

 

下面是一個連續在文件中輸出32行同樣字符串的例子腳本:

 

<%

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyTextFile=MyFileObject.CreateTextFile(「c:\mydir\test.txt」)

For i=1 to 32

MyTextFile.WriteLine(「Hello World!」)

Next

MyTextFile.Close

%>

 

在文本文件中讀取和追加數據

這裡,首先要做的依然是創建一個FileSystemObject對象的事例,然後,利用OpenTextFile()方法來創 建一個TextStream對象的事例,最後,你就可以用TextStream對象的ReadLine方法來對文件讀取,下面是 個例子:

 

<%

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyTextFile=MyFileObject.OpenTextFile(「c:\mydir\test.txt」)

While not MyTextFile.AtEndOfStream

Response.Write(MyTextFile.ReadLine)

Wend

MyTextFile.Close

%>

 

這個腳本將文本文件Test.txt文件中所有的內容讀出來並且顯示在瀏覽器上。如果文件不存在,回顯示相應錯誤信息(在下一個 部分,你會學到怎樣檢測一個文件是否存在)

其中While…Wend循環是將文件內容一行一行的循環讀取,其中如果沒有到達文件末尾,那麼AtEndOfStream屬性 就會是False,直到末尾時變為True。

 

下面是讀取文件時可能會用到的屬性:

■AtEndOfLine。這個屬性判斷是否到了文件中一個特定行的末尾,如果不是,則為False,反之為True

■AtEndOfStream。就是這個例子中用到的,判斷是否到了該文件的結尾並依此返回True和False

■Column。這個屬性判斷當前字符在該行的位置,返回一個整數值。

■Line。這個屬性判斷當前行在文件中的行數,返回一個整數值

 

除了使用ReadLine方法以外,你當然還可以使用Read()方法。Read()方法會從指定打開的文本文件中返回指定數目 個字符。下面是用這個方法的示例:

 

<%

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyTextFile=MyFileObject.OpenTextFile(「c:\mydir\test.txt」)

While NOT MyTextFile.AtEndOfLine

Response.Write(MyTextFile.Read(1))

WEND

MyTextFile.Close

%>

 

這個腳本從文本文件中接受第一行,每次接受顯示一個字符,利用AtEndOfLine屬性一直到行尾截止,由Read(1)一個 一個讀取。

 

下面是從文本文件讀取數據時要用到的方法

■Read(Number).從文本文件中讀取限定數目個字符

■ReadLine.從文本文件中讀取一行(換行符不返回)

■ReadAll.這個方法接受TextStream文件的所有內容

■Skip(Number).這個方法從一個打開的文本文件中跳過指定數目個字符

■close關閉當前打開的文件並釋放所佔用的資源。

 

一般說來,OpenTextFile()方法是用來讀取數據的,但是你也可以用它追加數據信息,例如,你希望在該文本數據中追加 一些新內容,可以見下面的示例:

 

<%

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyTextFile=MyFileObject.OpenTextFile(「c:\mydir\browser.log」, 8,TRUE)

MyTextFile.WriteLine(Request.ServerVariables(「HTTP_USER_AGEN T」))

MyTextFile.Close

%>

 

這個腳本用於在網站中創建一個日誌文件。無論什麼時候這個腳本執行,此時的瀏覽器類型就會追加到該日誌文件中,瀏覽器信息由Se rverVariables集合接收。

 

注意

有關ServerVariables集合的情況參見本書的第14章有關小節。


這裡面需要說明的是,如果browser.log不存在,則會自動建立,這是使用了OpenTextFile()方法的兩個參數 :IOMode和Create參數。

 

下面介紹針對於OpenTextFile()方法的所有參數:

■FileSpecifier,限定要進行讀寫或者追加的文本文件名稱

■IOMODE,可選參數,指示該文件是被用來讀,寫還是追加。默認為1表示讀,設為2表示進行寫操作,進行追加操作則設為8。

■Create,可選參數,如果文件不存在是否創建,默認為False,如果希望進行創建,則設為TRUE

■Format,可選參數,指示文件是ASCII碼制格式還是Unicode格式,作為默認的ASCII碼制文件,其值為-2, 如果希望設為Unicode格式,此參數設為-1


你不能在當前版本的Active Server Pages中使用常量,例如,你如果希望進行文件 追加,你必須使用數字8作為參數而不是什麼常量。

 

範例應用

這部分提供了一個範例應用來使得讀者對這些對像、方法、屬性、以及集合、有更加明晰的認識瞭解。在世界最大的網上書店,美國亞馬 遜網上書店(www.amazon.com)正在進行(也許您在閱讀時這個活動還在進行)網上的故事合創運動,由John Updike先生寫入 該故事的第一部分,每一天,訪問者都可以根據自己的意願在線進行故事發展的寫作,同時每一天都會對寫的最好的給出$1000的獎 賞(如果您的英語寫作足夠好,不妨一試)。這個故事是大家一起添加的。


這真是個好主意,這下子網站的『回頭客』就會激增,同時產生巨大的社會影響力,你完全可以在自己的網站上實現類似的應用。最簡單 的方法就是直接把這個範例拿出去放到你的網站上,當然,如果你的網站還不能支持Active Server Pages,那麼只好說你太不幸運了(見圖19.1)。

 

例子19.1 Story.asp腳本

 

<%

IF NOT Request.Form(「NextLine」)=」」 THEN

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyTextFile=MyFileObject.CreateTextFile(「C:\MyDir\TheStory.tx t」,8,TRUE)

MyTextFile.WriteLine(Request.Form(「NextLine」))

MyTextFile.Close

END IF

%>

<HTML>

<HEAD><TITLE>在線故事接龍</TITLE></HEAD>

<BODY>

<hr>

<%

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

Set MyText=MyFileObject.OpenTextFile(「C:\MyDir\TheStory.txt」)

WHILE NOT MyTextFile.AtEndOfStream

Response.Write(「&nsp;&nsp;」&MyTextFile.Readline)

WEND

MyTextFile.Close

%>

<HR>

<H3>請輸入這個故事的新行:</h3>

<Form method=」post」 action=」Story.asp」>

<input name=」NextLine」 Type=Text Size=70>

<input type=Submit Value=」確認添加這一句」>

</Form>

</Body>

</HTML>

圖19.1 一個在線的故事接龍

 

這個Active Server Pages文件包含兩段主要腳本,第一部分是看是否有Form傳來的 句子信息,如果有,則該句子添加到TheStory.txt文件中去。第二部分是顯示TheStory.txt文件中的內容,請 注意其中每一行之間用兩個&nbsp來進行分隔,參見HTML中符號含義。然後用一個Form提供訪問者進行添加,其中 Form執行還是這個文件,(就是第一部分腳本處理),因此注意該文件名稱必須是」story.asp」

 

其實這個應用實在是過於簡單,但是作一個留言版相當合適,而且在該文件膨脹過大時,只要刪除就可以了,(不要忘了前面的腳本中將 OpenTextFile的Create參數設為TRUE)是可以創建文本文件的。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 10:49上午 | IP記錄 引用 bibi

對文件進行處理

這個部分是介紹怎樣進行文件處理的:拷貝,移動以及刪除文件;以及怎樣檢測一個文件是否存在和接收一個文件的有關屬性。

 

拷貝、移動以及刪除文件

有不止一種方法來對文件進行拷貝、移動以及刪除工作。你可以利用FileSystemObject對象的方法或者File對象的 方法,其中FileSystemObject對象的方法更具有些變通性,因為你會不局限於一個單獨的文件上。

 

下面是FileSystemObject對像對文件操作的一些方法:

■CopyFile source, destination,[Overwrite]。這個方法將文件進行複製,你可以使用 source參數統配符來在一個時刻進行多個文件的複製。OverWrite參數將在目的文件已經存在的情況下進行覆蓋操作。

■MoveFile source, destination.這個方法對文件進行移動操作,同樣你可以使用統配 符來移動多個文件,不過如果目的文件已經存在,則會報錯而不允許覆蓋。

■DeleteFile FileSpecifier。這個方法刪除指定文件,同樣還是可以利用統配符來進 行多文件的刪除。如果沒有符合統配符的文件,將會報錯。

 

在你使用這些方法之前,首先當然還是創建一個FileSystemObject對象的事例。下面就是一個完整的使用示例:

 

<%

『創建一個FileSystemObject的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個要進行操作的文件

Set MyFile=MyFileObject.CreateTextFile(「c:\test.txt」)

MyFile.WriteLine(「Hello」)

MyFile.Close

『複製文件操作

MyFileObject.CopyFile 「c:\test.txt」 「c:\test2.txt」

『移動文件操作

MyFileObject.MoveFile 「c:\test.txt」 「c:\test3.txt」

『刪除這些文件

MyFileObject.DeleteFile 「c:\test.txt」

MyFileObject.DeleteFile 「c:\test3.txt」

%>

 

除了使用FileSystemObject對象的方法來進行這種操作以外,你還可以使用FILE對象。下面是File對像相關操 作的同等方法:

■Copy newcopy,[Overwrite]。這種方法給當前文件創建一個拷貝,當可選的 OverWrite參數為TRUE時,如果存在同名的目的文件,則進行覆蓋。

■Move newcopy.這個方法用來移動當前文件,同時當前文件跟隨到新的名稱。

■Delete。刪除當前文件。

 

在你使用這些方法之前,你必須創建File對象的一個事例,這樣的事例創建是在FileSystemObject對像中使用Ge tFile()方法來完成的,下面這個腳本就是利用File對像進行各種操作的一個示例:

 

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個要進行操作的文件

Set MyFile=MyFileObject.CreateTextFile(「c:\test.txt」)

MyFile.WriteLine(「Hello」)

MyFile.Close

『創建一個File對象的事例

Set afile=MyFileObject.GetFile(「c:\test.txt」)

『複製文件

Afile.copy 「c:\test2.txt」

『移動文件

Afile.Move 「c:\test3.txt」

『刪除文件

afile.Delete

%>

 

檢測文件是否存在

如果需要瞭解一個特定的文件是否存在,你需要FileSystemObject對象的FileExists()方法,只需要傳遞 其物理地址就可以從返回值是True和False來判斷其是否存在,下面就是這樣一個例子:

 

<HTML>

<HEAD><TITLE>文件是否存在示例</TITLE></HEAD>

<BODY>

<%

MySelf=Request.ServerVariables(「PATH_TRANSLATED」)

『創建一個FileSystemObject對像事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

IF MyFileObject.FileExists(「MySelf」)

Response.write(「存在這個文件」)

Else

Response.write(「不存在這個文件」)

END IF

%>

</BODY>

</HTML>

 

這個腳本就是檢查是否存在一個指定的文件,在本例中,顯然是存在的,因為MySelf就是當前這個文件(這裡面使用了Serve rVariables變量PATH_TRANSLATED來獲取當前文件的物理地址),當前這個文件無論如何肯定是存在的,因此 返回值肯定是TRUE,那麼顯示為「存在這個文件」。

 

接受文件屬性

當處理文件時,有些屬性是需要瞭解的,下面是File對象的屬性列表:

■Attributes.這個屬性類似於Dos命令的Attrib,顯示當前文件的系統屬性。例如Read-Only,Hidd en,System等等

■DateCreated.這個屬性返回文件創建的時間和日期。

■DateLastAccessed.這個屬性返回該文件上一次被使用的日期和時間

■DateLastModified.這個屬性返回該文件上一次被修改的日期和時間

■Drive. 這個屬性返回值為該文件所在的驅動器

■Name.這個屬性返回該文件文件名

■ParentFolder.這個屬性返回值為該文件所處的文件夾

■Path.返回該文件的全路徑

■Size.返回該文件的字節數

■Type.返回該文件類型,例如Text文本,Asp文件,或者網絡資源(HTML)

 

在使用這些屬性之前,依然首先需要創建一個File對象的事例。下一個例子就是顯示c:\test.txt的各項屬性。

 

<HTML>

<HEAD><TITLE>邁至科網絡ASP教程之文件屬性示例</TITLE>< /HEAD>

<BODY>

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個File對象的事例

Set Myfile=MyFileObject.GetFile(「c:\test.txt」)

%>

<Br>名稱:<%=Myfile.Name %>

<Br>路徑:<%=Myfile.Path %>

<Br>驅動器:<%=Myfile.Drive %>

<Br>大小:<%=Myfile.size %>

<Br>類型:<%=Myfile.type %>

<Br>屬性:<%=Myfile.Attributes %>

<Br>創建日期:<%=Myfile.DateCreated %>

<Br>上次進入日期:<%=Myfile.LastAccessed %>

<Br>上次修改日期:<%=Myfile.LassModified %>

</BODY>

</HTML>

 

那麼顯示結果如圖19.2所示。

 圖19.2 文件屬性

 

 

 

 

 

Attributes屬性需要解釋,它的返回值是對應於下表的數字:

Attribute
 值
 
Normal
 0
 
Read-Only
 1
 
Hidden
 2
 
System
 4
 
Volume
 8
 
Directory
 16
 
Archive
 32
 
Alias
 64
 
Compressed
 128
 

那麼,由於這裡面屬性為Archive和Hidden,所以結合起來就是2(Hidden)+32(Archieve)=34, 從數學上可以理解,每一個整數對應這樣的2的冪次的累加和肯定是唯一的,這些屬性還可以進行設置,例如,使c:\test.tx t變成具有Archieve,Read-Only兩種屬性 ,那麼用下面這個腳本

 

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個File對象的事例

Set Myfile=MyFileObject.GetFile(「c:\test.txt」)

『進行屬性設置

MyFile.attributes=31

%>

 

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 10:50上午 | IP記錄 引用 bibi

對文件夾和驅動器進行操作

這部分介紹對文件夾和驅動器進行操作的一些方法,你將學會如何從當前服務器上接受有關驅動器的信息以及對目錄的創建、刪除移動和 顯示內容操作。

 

對驅動器的操作

有兩個對像用來接受當地機器的驅動器信息,一個是FilsSsystemObject對象,另外一個是Drive對象。例如下面 的例子會顯示服務器上所有的硬盤以及它們的總大小和尚可提供的大小。

 

<HTML>

<HEAD><TITLE>驅動器顯示列表</TITLE></HEAD>

<%

『創建一個FilsSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『對Drives集合進行循環

For Each thing in MyFileObject.Drives

%>

<BR>驅動器號:<%=thing.DriveLetter %>

<BR>驅動器總容量:<%=thing.TotalSize %>

<BR>驅動器尚可提供容量:<%=thing.AvailableSpace %>

<HR>

<%

NEXT

%>

</BODY>

</HTML>

 

下面是顯示結果(圖19.3):

 圖19.3 本地計算機上的磁盤驅動器

 

FileSystemObject對象的Drivers集合就包括了服務器上的所有可提供的驅動器信息,不過,這指的是已經獲得 盤符的驅動器。

 

下面是FileSystemObject對象的有關驅動器的方法:

■DriveExists(DriveSpecifier).如果存在該驅動器則返回TRUE

■Drives.返回當前機器的驅動器集合

■GetDrive(DriveSpecifier).返回對應限定驅動器的Drive對像

■GetDriveName(Path).返回包含該路徑的驅動器名稱

 

另外,作為Driver對象也有自己的方法和屬性來處理驅動器

■AvailableSpace.返回當前驅動器的可用空間

■DriverLetter.返回當前驅動器的盤符

■DriveType.返回當前驅動器的類型,例如是CD-ROM或者removable drive

■FreeSpace.和AvailableSpace幾乎一致,用字節數返回當前可用空間大小。

 

注意

有說法說新的NT版本允許站長給每一個用戶分配限定的硬盤空間,那樣FreeSpace方法和AvailableSpace方法 的顯示結果就有可能有區別。

 

■IsReady.指示是否當前卷可以使用,這對於指示一個可擦寫的驅動器的狀態十分有用。

■Path.指示目前驅動器的路徑

■RootFolder.這個屬性會將該驅動器作為一個根目錄而返回一個Folder對像

■SerialNumber.接收這個驅動器的序列號

■ShareName返回該驅動器的共享名稱

■TotalSize.返回該驅動器的總容量

■VolumnName.返回代表驅動器的卷名字符串

 

用戶在使用這些集合和方法之前,必須首先創建一個Driver對象的事例。這時你可以使用FileSystemObject對象 的GetFile()方法來創建,下面這個例子腳本將返回C盤的卷名。

 

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個Drive對象的事例

Set MyDrive=MyFileObject.GetFile(「C:」)

Response.Write(MyDrive.VolumnName)

%>

 

對文件夾進行處理

這部分介紹的是操作文件夾以及顯示其中的內容。你同樣有兩種選擇,FileSystemObject對像和Folder對象,下 面的例子會顯示所有c:\MyFolder下面的文件

 

<HTML>

<HEAD><TITLE>文件夾內容</TITLE></HEAD>

<BODY>

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個Folder對像

Set MyFolder=MyFileObject.GetFolder(「c:\MyFolder」)

『循環顯示其中文件

For Each thing in MyFolder.Files

Response.Write(「<p>」&thing)

Next

%>

</Body>

</HTML>

 

這個例子中,Folder對像由FileSystemObject對象的GetFolder()方法來創建,創建後使用了For Each循環將Folder對象的Files方法中的文件顯示出來:

顯示結果如圖19.4。

 圖19.4 文件夾的內容

 

FileSystemObject對像包括了許多種集合和方法來處理文件夾,下面是對每一種主要的使用進行分別的介紹:

■CopyFolder source, destination [,Overwrite]。這個方法用來進行文件夾的複製,你 可以使用通配符來進行多目錄的複製(進行備份工作),同時,如果目的目錄已經存在,可以通過將Overwrite參數設為TRU E的方法來進行覆蓋。注意這裡面默認值為TRUE。

■CreateFolder FolderSpecifier。創建一個指定的文件夾

■DeleteFolder FolderSpecifier。刪除一個指定的文件夾

■FolderExists(FolderSpecifier). 如果該指定文件夾存在,返回True,否則返回False。

■GetFolder(FolderSpecifier). 對指定的文件夾創建一個Folder對像

■GetParentFolderName(Path).返回包含該路徑的上一級目錄名。

■MoveFolder source, Destinatioin。將指定目錄進行移動,你可以利用通配符來移動 多個文件夾。

 

下面是一個典型應用的例子:

 

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個用來操作的文件夾

MyFileObject.CreateFolder(「C:\NewFolder」)

『移動該文件夾

MyFileObject.MoveFolder 「C:\NewFolder」 「C:\NewFolder2」

『刪除這個文件夾

MyFileObject.DeleteFolder 「C:\NewFolder2」

%>

 

下面介紹相應的Folder對像中的方法、屬性。

■CopyFolder newcopy [,overwrite].將當前文件夾複製到新的位置,如果存在與目的 文件夾同名情況而且overwrite參數為False,則會報錯。

■DeleteFolder.刪除當前文件夾

■Files.返回所有該目錄下文件的集合。其中隱含文件不顯示

■IsRootFolder.如果是根目錄返回True

■MoveFolder FolderSpecifier.移動當前目錄到另外的位置

■name.返回當前目錄名稱

■ParentFolder.返回到上一級目錄

■Size.顯示目前目錄及子目錄的所有文件大小總和。

■SubFolders.返回為所有這個文件夾下面子目錄的集合。

 

利用這些方法之前,你需要首先創建一個Folder對象的事例。下面的例子將顯示所有C:\MyFolder下面的子目錄。

 

<%

『創建一個FileSystemObject對象的事例

Set MyFileObject=Server.CreateObject(「Scripting.FileSystemObject 」)

『創建一個Folder對像

Set MyFolder=MyFileObject.GetFolder(「c:\MyFolder」)

『循環顯示其中子目錄

For Each thing in MyFolder.Files

Response.Write(「<p>」&thing)

Next

%>

 

總結

這一章相當重要,描述了各種對文件系統進行遠程操作的方法,那麼你就可以在任何地方利用這些對文件、文件夾以及驅動器的操作組件 、方法和屬性來對你的服務器進行管理,對於高級站物管理人員和站點設計人員,學會使用和控制這些操作過程是相當重要的。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1875 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
美材批發
美材, Cosmetic
www.elady.tw/beauty_org
保養品批發
名牌保養品、保養品批發
gb.perfume.com.tw/skincare
飾品批發
飾品、飾品批發
gb.perfume.com.tw/ornament