欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP 3.0高级编程(二十)

程序员文章站 2023-02-20 22:14:23
5.4.1 filesystemobject对象成员概要        filesystemobject对象...
5.4.1 filesystemobject对象成员概要
       filesystemobject对象提供一个属性和一系列方法,可用它们来操纵filesystemobject对象实现的一些从属对象。这里提供了全部的内容概要,然后介绍每一个从属对象。
1.  filesystemobject的属性
filesystemobject对象只有一个属性,它用于得到当前机器上的所有有效驱动器的列表,如表5-4所示:
表5-4  filesystemobject对象的属性及说明
属 性
说 明

drivers
返回本地计算机可用的驱动器列表。

2.  filesystemobject的方法
filesystemobject对象提供了使用从属对象的一系列方法,从属对象包括drive、folder和file等对象。它也实现了用于textstream对象的两个方法:createtextfile和opentextfile。根据所使用的对象的类型,将方法划分为三类。
(1)    与驱动器有关的方法
与驱动器有关的方法如表5-5所示:
表5-5 与驱动器有关的方法及说明
方 法
说 明

driveexists(drivespec)
如果在drivespec中指定的驱动器存在,则返回true,否则返回false。drivespec参数可以是一个驱动器字母,或者是文件、文件夹的完整绝对路径

getdrive(drivespec)
返回drivespec指定的驱动器所对应的drive对象。drivespec可以包含冒号、路径分隔符或者是网络共享名,即:“c”、“c:”、“c:”及“\machinesharename”

getdrivename(drivespec)
用字符串返回drivespec指定的驱动器的名称。drivespec参数必须是文件或文件夹的绝对路径,或者仅仅是驱动器字母,例如:“c:”或“c”

(2)    与文件夹有关的方法
与文件夹有关的方法如表5-6所示:
表5-6  与文件夹有关的方法及说明
方 法
说 明

buildpath(path,name)
在已有的路径path上增添名字为name的文件或文件夹,如果需要,则增添路径分隔符’’

copyfolder(source,destination,overwrite)
从指定的源文件夹source(可以包含通配符)中复制一个或多个文件夹到指定的目标文件夹destination,包含了源文件夹中的所有文件。如果source包含通配符或destination末尾是路径分隔符(‘’),那么认为destination是要放置源文件夹的拷贝的文件夹。否则的话,认为destination是要创建的新文件夹的路径名。如果destination文件夹已经存在且overwrite参数设置为false,将产生错误,缺省的overwrite参数是true

createfolder(foldername)
创建一个路径名为foldername的文件夹。如果foldername已经存在将产生错误

deletefolder(folderspec,force)
删除由folderspec指定的一个或多个文件夹(可以在路径的最后部分包含通过配符)及文件夹中的所有内容。如果可选的force参数设置为true,那么即使文件夹包含的文件具有只读属性,也将删除该文件夹。缺省的force参数是false

folderexist(folderspec)
如果folderspec指定的文件夹存在则返回true,否则返回false。folderspec参数可以包含文件夹的绝对或相对路径,或者仅仅是当前文件夹中看到的文件夹名

getabsolutepathname(pathspec)
返回明确指定文件夹的路径,其中要考虑到当前文件夹的路径。例如,如果当前文件夹是“c:docssales”,而pathspec是“jan”,返回的字符是“c:docssalesjan”。通配符、”..”和”\”路径操作符都是可以接受的

getfolder(folderspec)
返回folderspec指定的文件夹对应的folder对象。folderspec可以是文件夹的相对的或绝对的路径

getparentfoldername(pathspec)
返回pathspec文件或文件夹的上一级文件夹。不检验该文件夹是否存在

getspecialfolder(folderspec)
返回一个特定的windows文件夹相对应的folder对象。参数folderspec的允许值是windowsfolder(0)、systemfolder(1)和temporaryfolder(2)

movefolder(source,destination)
将source指定的一个或多个文件夹移动到destination指定的文件夹。在source里可以包含通配符,但在destination中不行。如果source包含通配符或destination末尾是路径分隔符(‘’),则认为destination是要放置源文件夹的文件夹,否则认为它是一个新文件夹的完整路径和名字。如果目的文件夹destination已经存在则产生错误

(3)    与文件有关的方法
与文件有关的方法如表5-7所示:
方 法
说 明

copyfile(source,destination,
overwrite)
将source(可包含通配符)指定的一个或多个文件复制到指定的目标文件夹destination。如果source包含通配符或destination末尾是路径分隔符(‘’),那么认为destination是文件夹。否则认为destination为一新文件的完全路径和名称。如果目标文件夹已经存在且overwrite参数设置为false,将产生错误。缺省的overwrite参数是true

createtextfile(filename,overwrite,
unicode)
用指定的文件名filename在磁盘上创建一个新的文本文件,并返回与其对应的textstream对象,如果可选的overwrite参数设置为true,则覆盖同一路径下已有的同名文件。缺省的overwrite参数是false。如果可选的unicode参数设置为true,则该文件的内容将存储为unicode文本,缺省的unicode参数是false

delefile(filespec,force)
删除由filespec指定的一个或多个文件(可以在路径的最后部分包含通配符)。如果可选的force参数设置为true,那么也删除具有只读属性的文件。缺省的force参数是false

fileexists(filespec)
如果filespec指定的文件存在则返回true,否则返回false。filespec参数可以包含文件的绝对路径或相对路径,或者是当前文件夹中的文件名

getbasename(filespec)
返回filespec指定的文件的名称,即包含文件路径但去掉了文件的扩展名

getextensionname(filespec)
返回filespec指定的文件的扩展名

getfile(filespec)
返回filespec指定的文件所对应的file对象。可以指定文件的相对或绝对路径

getfilename(pathspec)
返回pathspec指定的文件的路径或文件名,如果没有文件名就返回最后的文件夹名。不检查该文件或文件夹是否存在

gettempname()
返回一个随机产生的文件名,用于完成运算所需的临时文件或文件夹

movefile(source,destination)
将source指定的一个或多个源文件移动到destination指定的目的文件夹。在source里可以包含通配符,但destination不行。如果source包含通过配符或destination末尾是路径分隔符(‘’),那么认为destination是一文件夹。否则,认为destination是一新文件夹的完整路径和名称。如果目的文件夹已经存在则产生错误

opentextfile(filename,iomode,create,
    format)
创建一个名叫做filename的文件,或打开一个现有的名为filename的文件,并且返回一个与其相关的textstream对象。filename参数可以包含绝对或相对路径。iomode参数指定了所要求的访问类型。允许的数值是forreading(1)(缺省)、forwriting(2)、forappending(8)。当写入或追加到一个不存在的文件时,如果create参数设置为true,就将创建一个新文件。缺省的create参数是false。format参数说明对文件读或写的数据格式。允许数值是:tristatetfalse(0)(缺省),按照ascii格式打开;tristatettrue(-1),按照unicode格式打开;tristatedefault(-2),用缺省格式打开

       unicode文件使用两个字节标识每个字符,取消了ascii字符最多256个的限制。

5.4.2 使用驱动器
       下面是使用filesystemobject对象的简单例子,它使用driveexists方法得到现有的驱动器字母的列表:
       ‘ in vbscript
       set objfso = server.createobject(“scripting.filesystemobject”)
       for intcode = 65 to 90                ‘ansi codes for ‘a’ to ‘z’
              strletter = chr(intcode)
              if objfso.driveexists(strletter) then
                     response.write “found drive “ & strletter & “:<br>”
              end if
       next
       或用jscript:
       // in jscript
       var objfso = server.createobject(‘scripting.filesystemobject’);
       for (var intcode = 65; intcode <= 90; intcode++) {    //ansi codes for ‘a’ to