




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FileSystemObject文件管理系统 兰FileSystemObject文件管理系统要创建FSO对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:Dim fsoTest As New FileSystemObject;另一种是通过CreateObject方法创建一个FSO对象:Set fsoTest=CreateObject(Scripting.FileSystemObject)。在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。完成了FSO对象模型的创建之后,就可以利用创建的对象模型的方法访问下属各个对象的属性来获取所需信息或进行相关操作了,具体的方法在下面结合各个对象分别讲述。(二)Drive对象上面已经提到Drive对象是用来获取当前系统中各个驱动器的信息的。由于Drive对象没有方法,其应用都是通过属性表现出来的,所以我们必须熟悉Drive对象的属性:AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量。DriveLetter:返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。DriveType:返回指定驱动器的磁盘类型。FileSystem:返回指定驱动器使用的文件系统类型。FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。IsReady:确定指定的驱动器是否准备好。Path:返回指定文件、文件夹、或驱动器的路径。RootFolder:返回一个Folder对象,该对象表示一个指定驱动器的根文件夹。只读属性。SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。ShareName:返回指定驱动器的网络共享名TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小。VolumeName:设置或返回指定驱动器的卷标名。从上面的属性可以看到Drive对象基本上包含了日常操作所需的全部的驱动器信息,因此在使用中是非常方便的。下面通过一个实例讲述Drive对象的使用。首先在VB中建立一个工程,然后添加一个命令按钮,将其Caption设置为TestDrive,然后在click事件中加入以下代码:Dim fsoTest As New FileSystemObject Dim drv1 As Drive,sReturn As String Set drv1=fsoTest.GetDrive(C:)sReturn=Drive&C:&vbCrLf sReturn=sReturn&VolumeName&drv1.VolumeName&vbCrLf sReturn=sReturn&Total Space:&FormatNumber(drv1.TotalSize/1024,0)sReturn=sReturn&Kb&vbCrLf sReturn=sReturn&Free Space:&FormatNumber(drv1.FreeSpace/1024,0)sReturn=sReturn&Kb&vbCrLf sReturn=sReturn&FileSystem:&drv1.FileSystem&vbCrLf MsgBox sReturn其中GetDrive方法返回一个与指定路径中的驱动器相对应的Drive对象。该方法的语法格式为object.GetDrive drivespec,object是一个FSO对象的名称,drivespec用于指定驱动器的名称。(三)Folder对象在FSO对象模型中,提供了丰富的有关文件夹操作的方法,这些方法分别是:FileSystemObject对象有关文件夹的方法:CreateFolder:创建一个文件夹。DeleteFolder:删除一个文件夹。MoveFolder:移动一个文件夹。CopyFolder:复制一个文件夹。FolderExists:查找一个文件夹是否在驱动器上。GetFolder:获得已有Folder对象的一个实例。GetParentFolderName:找出一个文件夹的父文件夹的名称。GetSpecialFolder:找出系统文件夹的路径。Folder对象的方法:Delete:创建一个文件夹。Move:移动一个文件夹。Copy:复制一个文件夹。Name:检索文件夹的名称。在此需要强调一点,前面我们曾经提到过FSO对象模型包含的方法是冗余的,所以Folder对象的Delete、Move、Copy方法和FileSystemObject对象的DeleteFolder、MoveFolder、CopyFolder方法实际上是相同的,因此在实际使用中可以任选其中的一种。和Drive对象一样,下面通过实例演示Folder对象的应用。在VB下新建一个工程,然后在上面添加三个命令按钮,然后在Form1的通用部分加入以下代码:Option Explicit Dim fsoTest As New FileSystemObject Dim folder1 As Folder并且分别在三个命令按钮的click事件输入以下代码:Private Sub CmdCreate_Click()获取Folder对象。Set folder1=fsoTest.GetFolder(C:)创建文件夹fsoTest.CreateFolder(C:Test)MsgBoxfolder C:Test has createdEnd Sub Private Sub CmdDelete_Click()获取Drive对象。Set folder1=fsoTest.GetFolder(C:)删除文件夹fsoTest.DeleteFolder(C:Test)MsgBoxfolder C:Test has deletedEnd Sub Private Sub CmdGetPro_Click()获取文件夹的有关信息Dim sReturn As String Set folder1=fsoTest.GetFolder(C:Windows)sReturn=The folders Attributes is&folder1.Attributes&vbCrLf获取最近一次访问的时间sReturn=sReturn&The folders last access time is&folder1.DateLastAccessed&vbCrLf获取最后一次修改的时间sReturn=sReturn&The folders last modify time is&folder1.DateLastModified&vbCrLf获取文件夹的大小sReturn=sReturn&The folders size is&FormatNumber(folder1.Size/1024,0)sReturn=sReturn&Kb&vbCrLf判断文件或文件夹类型sReturn=sReturn&The type is&folder1.Type&vbCrLf MsgBox sReturn End Sub上述代码中提到的CreateFolder方法的语法形式为object.CreateFolder(foldername)。foldername指定了要创建的文件夹的名称,而DeleteFolder方法的语法形式为object.DeleteFolder folderspec,force,其中,folderspec用来指定要删除的文件夹的名称,force是一个可选的布尔型参数,如果希望删除只读属性的文件夹则将该值设为TRUE,默认为FALSE(四)File对象和TextStream对象由于有关File对象的复制,删除,移动等操作和Folder对象类似,所以这部分内容就不再重复。这里主要讲述利用File对象和TextStream对象操作文本文件。通常对文本文件的操作包括在文本文件中创建数据,在文本文件中添加数据,删除文本文件的数据等操作。这些操作都可以通过File对象和FileSystemObject对象的相关方法完成。不过在使用之前,首先要创建一个文本文件,这可以通过三种方法完成。一种方法是使用FileSystemObject对象的CreateTextFile方法。要创建一个空文本文件,可以用以下语句:Dim fsoTest As New FileSystemObject,fil1 As File Set fil 1=fsoTest.CreateTextFile(c:testfile.txt,True)第二种方法是使用FileSystemObject对象带ForWriting标志设置的OpenTextFile方法,Dim fsoTest As New FileSystemObject,ts1 As New TextStream Set ts1=fsoTest.OpenTextFile(c:testfile.txt,ForWriting)第三种方法是使用File对象的带ForWriting标志设置的OpenAsTextStream方法:Dim fsoTest As New FileSystemObject,fil 1As File,ts 1As TextStream Set fsoTest=CreateObject(Scripting.FileSystemObject)fsoTest.CreateTextFile(c:testfile.txt)Set fil1=fsoTest.GetFile(c:testfile.txt)Set ts1=fil1.OpenAsTextStream(ForWriting)其中CreateTextFile方法的第一个参数用来指定,第二个参数用来指定如果磁盘上已经存在要创建的文件是否覆盖,TRUE表示覆盖,FALSE表示不覆盖,省略表示不覆盖;OpenTextFile方法的第一个参数确定要打开的文本文件,第二个参数表示对该文件进行写操作;OpenAsTextStream方法的参数和OpenTextFile方法的第二个参数含义相同。在创建了写入数据的文本之后就可以利用TextStream对象的Write或WriteLine方法了,它们之间的区别在于WriteLine在指定的字符串末尾添加换行符,而Write方法没有。如果想要向文本文件中添加一个空行,可以使用WriteBlankLines方法。在完成写的动作之后,用Close方法关闭打开的文本文件。如果要读取一个存在的文本文件的内容,就要用到TextStream对象的Read、ReadLine或ReadAll方法;这些方法的区别是Read:从一个文件中读取指定数量的字符;ReadLine:读取一整行(紧跟,但不包括,换行符);ReadAll:读取一个文本文件的所有内容。下面在一个VB的工程中演示上述的效果。在VB中新建一个工程,然后在Form1上添加两个命令按钮,然后输入以下代码:Private Sub CmdRead_Click()Dim fsoTest As New FileSystemObject,file1 As File,ts As TextStream,s As String Set file1=fsoTest.GetFile(C:testfile.txt)Set ts=file1.OpenAsTextStream(ForReading)读取一行s=ts.ReadLine MsgBox sts.Close End Sub Private Sub CmdWrite_Click()Dim txtfile As File,ts As TextStream Set txtfile=fsoTest.GetFile(c:testfile.txt)Set ts=txtfile.OpenAsTextStream(ForWriting)使用Write方法写入一行。ts.Write(This is only aTest)写入一行带有换行符的文本。ts.WriteLine(Testing 1,2,3.)向文件中写入三个换行符。ts.WriteBlankLines(3)ts.Close End Sub 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对象。drivespacec可以包含冒号、路径分隔符或者是网络共享名即:C、C:、C:及machinesharenameGetDriveName(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 90ANSI codes forAtoZstrLetter=Chr(intCode)If objFSO.DriveExists(strLetter)Then Response.WriteFound drive&strLetter&:BREnd If Next 1.Folder对象Driver对象的RootFolder属性返回一个Folder对象,通过该对象可访问这个驱动器内的所有的内容。可以使用这个Folder对象的属性和方法遍历驱动器上的目录,并得到该文件夹和其他文件夹的属性。(1)Folder对象的属性Folder对象提供一组属性,可用这些属性得到关于当前文件夹的更多信息,也可以改变该文件夹的名称。其属性及说明如表5-9所示:表5-9 Folder对象的属性及说明属性说明Attributes返回文件夹的属性。可以是下列值中的一个或其组合:Normal(0)、ReadOnly(1)、Hidden(2)、System(4)、Volume(名称)(8)、Directory(文件夹)(16)、Archive(32)、Alias(64)和Compressed(128)。例如,一个隐藏的只读文件,Attributes的值为3 DateCreated返回该文件夹的创建日期和时间DateLastAccessed返回最后一次访问该文件夹的日期和时间DateLastModified返回最后一次修改该文件夹的日期和时间Drive返回该文件夹所在的驱动器的驱动器字母Files返回Folder对象包含的Files集合,表示该文件夹内所有的文件IsRootFolder返回一个布尔值说明该文件夹是否是当前驱动器的根文件夹Name设定或返回文件夹的名字ParentFolder返回该文件夹的父文件夹对应的Folder对象Path返回文件夹的绝对路径,使用相应的长文件名ShortName返回DOS风格的8.3形式的文件夹名ShortPath返回DOS风格的8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度政府投资项目预算编制与审计报告合同
- 2025-2030创新疫苗佐剂系统专利布局与市场竞争分析报告
- 2025-2030农业面源污染防治技术集成与推广模式分析报告
- 国际化教育中2025年跨文化交流能力培养的挑战与机遇研究报告
- 2025年工业互联网平台5G通信模组在新能源发电设备的适配性评估报告
- 腾讯控股有限公司企业简称2023年度环境、社会与公司治理报告:关爱员工构建和谐职场
- 2023上半年雅培医疗ESG绩效报告:医疗设备行业政策与公司治理
- XX医疗2023年度发展报告:合作伙伴视角下的行业可持续发展前景
- KK制药装备企业简称2023ESG综合报告:学术研究视角下的企业可持续发展
- 2025年智能快递柜智能语音交互技术分析报告
- 水稻植保无人机服务协议
- 读后续写体育竞技个人成长课件高三英语二轮复习
- 箱式变电站技术规范书
- 有轨电车交通工程设施设计规范
- 施工安全村民告知书
- 快速入门穿越机-让你迅速懂穿越机
- 广州南方学院(原中山大学南方学院)学校办公室新闻宣传中心新闻管理岗招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 儿童呼吸机基本使用
- 起重机械安全日管控、周排查、月调度制度
- 派出所民警心理健康辅导
- 民事诉讼法课件
评论
0/150
提交评论