?? 19-4.cfm.htm
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>對文件夾和驅(qū)動器進行操作</TITLE>
</HEAD>
<BODY LINK="#0000ff">
<B><FONT FACE="宋體" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">對文件夾和驅(qū)動器進行操作</P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> 這部分介紹對文件夾和驅(qū)動器進行操作的一些方法,你將學(xué)會如何從當前服務(wù)器上接受有關(guān)驅(qū)動器的信息以及對目錄的創(chuàng)建、刪除移動和顯示內(nèi)容操作。</P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋體" LANG="ZH-CN"><P ALIGN="JUSTIFY">對驅(qū)動器的操作</P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> 有兩個對象用來接受當?shù)貦C器的驅(qū)動器信息,一個是FilsSsystemObject對象,另外一個是Drive對象。例如下面的例子會顯示服務(wù)器上所有的硬盤以及它們的總大小和尚可提供的大小。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><HTML></P>
<P ALIGN="JUSTIFY"><HEAD><TITLE>驅(qū)動器顯示列表</TITLE></HEAD></P>
<P ALIGN="JUSTIFY"><%</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個FilsSystemObject對象的事例</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>對Drives集合進行循環(huán)</P>
<P ALIGN="JUSTIFY">For Each thing in MyFileObject.Drives</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"><BR>驅(qū)動器號:<%=thing.DriveLetter %></P>
<P ALIGN="JUSTIFY"><BR>驅(qū)動器總?cè)萘浚?amp;lt;%=thing.TotalSize %></P>
<P ALIGN="JUSTIFY"><BR>驅(qū)動器尚可提供容量:<%=thing.AvailableSpace %></P>
<P ALIGN="JUSTIFY"><HR></P>
<P ALIGN="JUSTIFY"><%</P>
<P ALIGN="JUSTIFY">NEXT</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"></BODY></P>
<P ALIGN="JUSTIFY"></HTML></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">下面是顯示結(jié)果(圖19.3):</P>
<P ALIGN="JUSTIFY"><IMG SRC="Image122.gif" tppabs="http://210.74.168.175/guide/asp/part19/Image122.gif" WIDTH=535 HEIGHT=453> <B>圖19.3 本地計算機上的磁盤驅(qū)動器</P>
</B><P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> FileSystemObject對象的Drivers集合就包括了服務(wù)器上的所有可提供的驅(qū)動器信息,不過,這指的是已經(jīng)獲得盤符的驅(qū)動器。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">下面是FileSystemObject對象的有關(guān)驅(qū)動器的方法:</P>
<P ALIGN="JUSTIFY">■DriveExists(DriveSpecifier).如果存在該驅(qū)動器則返回TRUE</P>
<P ALIGN="JUSTIFY">■Drives.返回當前機器的驅(qū)動器集合</P>
<P ALIGN="JUSTIFY">■GetDrive(DriveSpecifier).返回對應(yīng)限定驅(qū)動器的Drive對象</P>
<P ALIGN="JUSTIFY">■GetDriveName(Path).返回包含該路徑的驅(qū)動器名稱</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">另外,作為Driver對象也有自己的方法和屬性來處理驅(qū)動器</P>
<P ALIGN="JUSTIFY">■AvailableSpace.返回當前驅(qū)動器的可用空間</P>
<P ALIGN="JUSTIFY">■DriverLetter.返回當前驅(qū)動器的盤符</P>
<P ALIGN="JUSTIFY">■DriveType.返回當前驅(qū)動器的類型,例如是CD-ROM或者removable drive</P>
<P ALIGN="JUSTIFY">■FreeSpace.和AvailableSpace幾乎一致,用字節(jié)數(shù)返回當前可用空間大小。</P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">注意</P>
</B><P ALIGN="JUSTIFY"> 有說法說新的NT版本允許站長給每一個用戶分配限定的硬盤空間,那樣FreeSpace方法和AvailableSpace方法的顯示結(jié)果就有可能有區(qū)別。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">■IsReady.指示是否當前卷可以使用,這對于指示一個可擦寫的驅(qū)動器的狀態(tài)十分有用。</P>
<P ALIGN="JUSTIFY">■Path.指示目前驅(qū)動器的路徑</P>
<P ALIGN="JUSTIFY">■RootFolder.這個屬性會將該驅(qū)動器作為一個根目錄而返回一個Folder對象</P>
<P ALIGN="JUSTIFY">■SerialNumber.接收這個驅(qū)動器的序列號</P>
<P ALIGN="JUSTIFY">■ShareName返回該驅(qū)動器的共享名稱</P>
<P ALIGN="JUSTIFY">■TotalSize.返回該驅(qū)動器的總?cè)萘?lt;/P>
<P ALIGN="JUSTIFY">■VolumnName.返回代表驅(qū)動器的卷名字符串</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 用戶在使用這些集合和方法之前,必須首先創(chuàng)建一個Driver對象的事例。這時你可以使用FileSystemObject對象的GetFile()方法來創(chuàng)建,下面這個例子腳本將返回C盤的卷名。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><%</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個FileSystemObject對象的事例</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個Drive對象的事例</P>
<P ALIGN="JUSTIFY">Set MyDrive=MyFileObject.GetFile(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>C:</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">Response.Write(MyDrive.VolumnName)</P>
<P ALIGN="JUSTIFY">%></P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋體" LANG="ZH-CN"><P ALIGN="JUSTIFY">對文件夾進行處理</P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> 這部分介紹的是操作文件夾以及顯示其中的內(nèi)容。你同樣有兩種選擇,F(xiàn)ileSystemObject對象和Folder對象,下面的例子會顯示所有c:\MyFolder下面的文件</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><HTML></P>
<P ALIGN="JUSTIFY"><HEAD><TITLE>文件夾內(nèi)容</TITLE></HEAD></P>
<P ALIGN="JUSTIFY"><BODY></P>
<P ALIGN="JUSTIFY"><%</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個FileSystemObject對象的事例</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個Folder對象</P>
<P ALIGN="JUSTIFY">Set MyFolder=MyFileObject.GetFolder(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>c:\MyFolder</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>循環(huán)顯示其中文件</P>
<P ALIGN="JUSTIFY">For Each thing in MyFolder.Files</P>
<P ALIGN="JUSTIFY"> Response.Write(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><p></FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>&thing)</P>
<P ALIGN="JUSTIFY">Next</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"></Body></P>
<P ALIGN="JUSTIFY"></HTML></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 這個例子中,F(xiàn)older對象由FileSystemObject對象的GetFolder()方法來創(chuàng)建,創(chuàng)建后使用了For Each循環(huán)將Folder對象的Files方法中的文件顯示出來:</P>
<P ALIGN="JUSTIFY">顯示結(jié)果如圖19.4。</P>
<P ALIGN="JUSTIFY"><IMG SRC="Image123.gif" tppabs="http://210.74.168.175/guide/asp/part19/Image123.gif" WIDTH=534 HEIGHT=332> <B> 圖19.4 文件夾的內(nèi)容</P>
</B><P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> FileSystemObject對象包括了許多種集合和方法來處理文件夾,下面是對每一種主要的使用進行分別的介紹:</P>
<P ALIGN="JUSTIFY">■CopyFolder source, destination [,Overwrite]。這個方法用來進行文件夾的復(fù)制,你 可以使用通配符來進行多目錄的復(fù)制(進行備份工作),同時,如果目的目錄已經(jīng)存在,可以通過將Overwrite參數(shù)設(shè)為TRUE的方法來進行覆蓋。注意這里面默認值為TRUE。</P>
<P ALIGN="JUSTIFY">■CreateFolder FolderSpecifier。創(chuàng)建一個指定的文件夾</P>
<P ALIGN="JUSTIFY">■DeleteFolder FolderSpecifier。刪除一個指定的文件夾</P>
<P ALIGN="JUSTIFY">■FolderExists(FolderSpecifier). 如果該指定文件夾存在,返回True,否則返回False。</P>
<P ALIGN="JUSTIFY">■GetFolder(FolderSpecifier). 對指定的文件夾創(chuàng)建一個Folder對象</P>
<P ALIGN="JUSTIFY">■GetParentFolderName(Path).返回包含該路徑的上一級目錄名。</P>
<P ALIGN="JUSTIFY">■MoveFolder source, Destinatioin。將指定目錄進行移動,你可以利用通配符來移動 多個文件夾。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">下面是一個典型應(yīng)用的例子:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><%</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個FileSystemObject對象的事例</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個用來操作的文件夾</P>
<P ALIGN="JUSTIFY">MyFileObject.CreateFolder(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>C:\NewFolder</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>移動該文件夾</P>
<P ALIGN="JUSTIFY">MyFileObject.MoveFolder </FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>C:\NewFolder</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3> </FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>C:\NewFolder2</FONT><FONT SIZE=3>”</P>
<P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>刪除這個文件夾</P>
<P ALIGN="JUSTIFY">MyFileObject.DeleteFolder </FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>C:\NewFolder2</FONT><FONT SIZE=3>”</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 下面介紹相應(yīng)的Folder對象中的方法、屬性。</P>
<P ALIGN="JUSTIFY">■CopyFolder newcopy [,overwrite].將當前文件夾復(fù)制到新的位置,如果存在與目的 文件夾同名情況而且overwrite參數(shù)為False,則會報錯。</P>
<P ALIGN="JUSTIFY">■DeleteFolder.刪除當前文件夾</P>
<P ALIGN="JUSTIFY">■Files.返回所有該目錄下文件的集合。其中隱含文件不顯示</P>
<P ALIGN="JUSTIFY">■IsRootFolder.如果是根目錄返回True</P>
<P ALIGN="JUSTIFY">■MoveFolder FolderSpecifier.移動當前目錄到另外的位置</P>
<P ALIGN="JUSTIFY">■name.返回當前目錄名稱</P>
<P ALIGN="JUSTIFY">■ParentFolder.返回到上一級目錄</P>
<P ALIGN="JUSTIFY">■Size.顯示目前目錄及子目錄的所有文件大小總和。</P>
<P ALIGN="JUSTIFY">■SubFolders.返回為所有這個文件夾下面子目錄的集合。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> 利用這些方法之前,你需要首先創(chuàng)建一個Folder對象的事例。下面的例子將顯示所有C:\MyFolder下面的子目錄。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"><%</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個FileSystemObject對象的事例</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建一個Folder對象</P>
<P ALIGN="JUSTIFY">Set MyFolder=MyFileObject.GetFolder(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>c:\MyFolder</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">‘</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>循環(huán)顯示其中子目錄</P>
<P ALIGN="JUSTIFY">For Each thing in MyFolder.Files</P>
<P ALIGN="JUSTIFY"> Response.Write(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><p></FONT><FONT SIZE=3>”</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>&thing)</P>
<P ALIGN="JUSTIFY">Next</P>
<P ALIGN="JUSTIFY">%></P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋體" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">總結(jié)</P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>這一章相當重要,描述了各種對文件系統(tǒng)進行遠程操作的方法,那么你就可以在任何地方利用這些對文件、文件夾以及驅(qū)動器的操作組件、方法和屬性來對你的服務(wù)器進行管理,對于高級站物管理人員和站點設(shè)計人員,學(xué)會使用和控制這些操作過程是相當重要的。</P></FONT></BODY>
</HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -