标题标题  显示论坛会员列表名单  搜索论坛搜索  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.2188 seconds.

 
保养品
保养品, Skin Care
www.elady.tw
美材批发
美材, Cosmetic
www.elady.tw/beauty_org
保养品批发
名牌保养品、保养品批发
gb.perfume.com.tw/skincare
饰品批发
饰品、饰品批发
gb.perfume.com.tw/ornament