




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.FileSystemObject文件管理系统 兰FileSystemObject文件管理系统要创立FSO对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:Dim fsoTest As New FileSystemObject;另一种是通过CreateObject方法创立一个FSO对象:Set fsoTest=CreateObject"Scripting.FileSystemObject"。在实际使用中详细采用哪种声明方法,可根据个人的使用习惯而定。完成了FSO对象模型的创立之后,就可以利用创立的对象模型的方法访问下属各个对象的属性来获取所需信息或进展相关操作了,
2、详细的方法在下面结合各个对象分别讲述。二Drive对象上面已经提到Drive对象是用来获取当前系统中各个驱动器的信息的。由于Drive对象没有方法,其应用都是通过属性表现出来的,所以我们必须熟悉Drive对象的属性:AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量。DriveLetter:返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。DriveType:返回指定驱动器的磁盘类型。FileSystem:返回指定驱动器使用的文件系统类型。FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。IsReady:确定指定的驱动器是
3、否准备好。Path:返回指定文件、文件夹、或驱动器的途径。RootFolder:返回一个Folder对象,该对象表示一个指定驱动器的根文件夹。只读属性。SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。ShareName:返回指定驱动器的网络共享名TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小。VolumeName:设置或返回指定驱动器的卷标名。从上面的属性可以看到Drive对象根本上包含了日常操作所需的全部的驱动器信息,因此在使用中是非常方便的。下面通过一个实例讲述Drive对象的使用。首先在VB中建立一个工程,然后添加一个命令按钮,将其Caption设置
4、为"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&am
5、p;"Total Space:"&FormatNumberdrv1.TotalSize/1024,0sReturn=sReturn&"Kb"&vbCrLf sReturn=sReturn&"Free Space:"&FormatNumberdrv1.FreeSpace/1024,0sReturn=sReturn&"Kb"&vbCrLf sReturn=sReturn&"FileSystem:"&drv1.FileSystem
6、&vbCrLf MsgBox sReturn其中GetDrive方法返回一个与指定途径中的驱动器相对应的Drive对象。该方法的语法格式为object.GetDrive drivespec,object是一个FSO对象的名称,drivespec用于指定驱动器的名称。三Folder对象在FSO对象模型中,提供了丰富的有关文件夹操作的方法,这些方法分别是:FileSystemObject对象有关文件夹的方法:CreateFolder:创立一个文件夹。DeleteFolder:删除一个文件夹。MoveFolder:挪动一个文件夹。CopyFolder:复制一个文件夹。FolderExists
7、:查找一个文件夹是否在驱动器上。GetFolder:获得已有Folder对象的一个实例。GetParentFolderName:找出一个文件夹的父文件夹的名称。GetSpecialFolder:找出系统文件夹的途径。Folder对象的方法:Delete:创立一个文件夹。Move:挪动一个文件夹。Copy:复制一个文件夹。Name:检索文件夹的名称。在此需要强调一点,前面我们曾经提到过FSO对象模型包含的方法是冗余的,所以Folder对象的Delete、Move、Copy方法和FileSystemObject对象的DeleteFolder、MoveFolder、CopyFolder方法实际上是一
8、样的,因此在实际使用中可以任选其中的一种。和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.
9、CreateFolder"C:Test"MsgBox"folder C:Test has created"End Sub Private Sub CmdDelete_Click'获取Drive对象。Set folder1=fsoTest.GetFolder"C:"'删除文件夹fsoTest.DeleteFolder"C:Test"MsgBox"folder C:Test has deleted"End Sub Private Sub CmdGetPro_Click'获取文
10、件夹的有关信息Dim sReturn As String Set folder1=fsoTest.GetFolder"C:Windows"'sReturn="The folder's Attributes is"&folder1.Attributes&vbCrLf'获取最近一次访问的时间sReturn=sReturn&"The folder's last access time is"&folder1.DateLastAccessed&vbCrLf'获取最
11、后一次修改的时间sReturn=sReturn&"The folder's last modify time is"&folder1.DateLastModified&vbCrLf'获取文件夹的大小sReturn=sReturn&"The folder's size is"&FormatNumberfolder1.Size/1024,0sReturn=sReturn&"Kb"&vbCrLf'判断文件或文件夹类型sReturn=sReturn&
12、;"The type is"&folder1.Type&vbCrLf MsgBox sReturn End Sub上述代码中提到的CreateFolder方法的语法形式为object.CreateFolderfoldername。foldername指定了要创立的文件夹的名称,而DeleteFolder方法的语法形式为object.DeleteFolder folderspec,force,其中,folderspec用来指定要删除的文件夹的名称,force是一个可选的布尔型参数,假如希望删除只读属性的文件夹那么将该值设为TRUE,默认为FALSE四File对
13、象和TextStream对象由于有关File对象的复制,删除,挪动等操作和Folder对象类似,所以这部分内容就不再重复。这里主要讲述利用File对象和TextStream对象操作文本文件。通常对文本文件的操作包括在文本文件中创立数据,在文本文件中添加数据,删除文本文件的数据等操作。这些操作都可以通过File对象和FileSystemObject对象的相关方法完成。不过在使用之前,首先要创立一个文本文件,这可以通过三种方法完成。一种方法是使用FileSystemObject对象的CreateTextFile方法。要创立一个空文本文件,可以用以下语句:Dim fsoTest As New Fil
14、eSystemObject,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标志设置
15、的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.OpenAsTextStreamForWriting其中CreateTextFi
16、le方法的第一个参数用来指定,第二个参数用来指定假如磁盘上已经存在要创立的文件是否覆盖,TRUE表示覆盖,FALSE表示不覆盖,省略表示不覆盖;OpenTextFile方法的第一个参数确定要翻开的文本文件,第二个参数表示对该文件进展写操作;OpenAsTextStream方法的参数和OpenTextFile方法的第二个参数含义一样。在创立了写入数据的文本之后就可以利用TextStream对象的Write或WriteLine方法了,它们之间的区别在于WriteLine在指定的字符串末尾添加换行符,而Write方法没有。假如想要向文本文件中添加一个空行,可以使用WriteBlankLines方法。
17、在完成写的动作之后,用Close方法关闭翻开的文本文件。假如要读取一个存在的文本文件的内容,就要用到TextStream对象的Read、ReadLine或ReadAll方法;这些方法的区别是Read:从一个文件中读取指定数量的字符;ReadLine:读取一整行紧跟,但不包括,换行符;ReadAll:读取一个文本文件的所有内容。下面在一个VB的工程中演示上述的效果。在VB中新建一个工程,然后在Form1上添加两个命令按钮,然后输入以下代码:Private Sub CmdRead_ClickDim fsoTest As New FileSystemObject,file1 As File,ts A
18、s TextStream,s As String Set file1=fsoTest.GetFile"C:testfile.txt"Set ts=file1.OpenAsTextStreamForReading'读取一行s=ts.ReadLine MsgBox sts.Close End Sub Private Sub CmdWrite_ClickDim txtfile As File,ts As TextStream Set txtfile=fsoTest.GetFile"c:testfile.txt"Set ts=txtfile.OpenAs
19、TextStreamForWriting'使用Write方法写入一行。ts.Write"This is only aTest"'写入一行带有换行符的文本。ts.WriteLine"Testing 1,2,3."'向文件中写入三个换行符。ts.WriteBlankLines3ts.Close End Sub FileSystemObject对象成员概要FileSystemObject对象提供一个属性和一系列方法,可用它们来操纵FileSystemObject对象实现的一些附属对象。这里提供了全部的内容概要,然后介绍每一个附属对象。1
20、.FileSystemObject的属性FileSystemObject对象只有一个属性,它用于得到当前机器上的所有有效驱动器的列表,如表5-4所示:表5-4 FileSystemObject对象的属性及说明属性说明Drivers返回本地计算机可用的驱动器列表。2.FileSystemObject的方法FileSystemObject对象提供了使用附属对象的一系列方法,附属对象包括Drive、Folder和File等对象。它也实现了用于TextStream对象的两个方法:CreateTextFile和OpenTextFile。根据所使用的对象的类型,将方法划分为三类。1与驱动器有关的方法与驱动
21、器有关的方法如表5-5所示:表5-5与驱动器有关的方法及说明方法说明DriveExistsdrivespec假如在drivespec中指定的驱动器存在,那么返回True,否那么返回False。drivespec参数可以是一个驱动器字母,或者是文件、文件夹的完好绝对途径GetDrivedrivespec返回drivespec指定的驱动器所对应的Drive对象。drivespacec可以包含冒号、途径分隔符或者是网络共享名即:"C"、"C:"、"C:"及"machinesharename"GetDriveNamedri
22、vespec用字符串返回drivespec指定的驱动器的名称。drivespec参数必须是文件或文件夹的绝对途径,或者仅仅是驱动器字母,例如:"c:"或"c"2与文件夹有关的方法与文件夹有关的方法如表5-6所示:表5-6与文件夹有关的方法及说明方法说明BuildPathpath,name在已有的途径path上增添名字为name的文件或文件夹,假如需要,那么增添途径分隔符''CopyFoldersource,destination,overwrite从指定的源文件夹source可以包含通配符中复制一个或多个文件夹到指定的目的文件夹desti
23、nation,包含了源文件夹中的所有文件。假如source包含通配符或destination末尾是途径分隔符'',那么认为destination是要放置源文件夹的拷贝的文件夹。否那么的话,认为destination是要创立的新文件夹的途径名。假如destination文件夹已经存在且overwrite参数设置为False,将产生错误,缺省的overwrite参数是True CreateFolderfoldername创立一个途径名为foldername的文件夹。假如foldername已经存在将产生错误DeleteFolderfolderspec,force删除由folders
24、pec指定的一个或多个文件夹可以在途径的最后部分包含通过配符及文件夹中的所有内容。假如可选的force参数设置为true,那么即使文件夹包含的文件具有只读属性,也将删除该文件夹。缺省的force参数是False FolderExistfolderspec假如folderspec指定的文件夹存在那么返回True,否那么返回False。folderspec参数可以包含文件夹的绝对或相对途径,或者仅仅是当前文件夹中看到的文件夹名GetAbsolutePathNamepathspec返回明确指定文件夹的途径,其中要考虑到当前文件夹的途径。例如,假如当前文件夹是"c:docssales&quo
25、t;,而pathspec是"jan",返回的字符是"c:docssalesjan"。通配符、"."和""途径操作符都是可以承受的GetFolderfolderspec返回folderspec指定的文件夹对应的Folder对象。folderspec可以是文件夹的相对的或绝对的途径GetParentFolderNamepathspec返回pathspec文件或文件夹的上一级文件夹。不检验该文件夹是否存在GetSpecialfolderfolderspec返回一个特定的Windows文件夹相对应的Folder对象。参数f
26、olderspec的允许值是WindowsFolder0、SystemFolder1和TemporaryFolder2MoveFoldersource,destination将source指定的一个或多个文件夹挪动到destination指定的文件夹。在source里可以包含通配符,但在destination中不行。假如source包含通配符或destination末尾是途径分隔符'',那么认为destination是要放置源文件夹的文件夹,否那么认为它是一个新文件夹的完好途径和名字。假如目的文件夹destination已经存在那么产生错误3与文件有关的方法与文件有关的方法如表
27、5-7所示:方法说明CopyFilesource,destination,overwrite将source可包含通配符指定的一个或多个文件复制到指定的目的文件夹destination。假如source包含通配符或destination末尾是途径分隔符'',那么认为destination是文件夹。否那么认为destination为一新文件的完全途径和名称。假如目的文件夹已经存在且overwrite参数设置为False,将产生错误。缺省的overwrite参数是True CreateTextFilefilename,overwrite,unicode用指定的文件名filename在
28、磁盘上创立一个新的文本文件,并返回与其对应的TextStream对象,假如可选的overwrite参数设置为True,那么覆盖同一途径下已有的同名文件。缺省的overwrite参数是False。假如可选的unicode参数设置为True,那么该文件的内容将存储为Unicode文本,缺省的unicode参数是False DeleFilefilespec,force删除由filespec指定的一个或多个文件可以在途径的最后部分包含通配符。假如可选的force参数设置为true,那么也删除具有只读属性的文件。缺省的force参数是False FileExistsfilespec假如filespec指
29、定的文件存在那么返回True,否那么返回False。filespec参数可以包含文件的绝对途径或相对途径,或者是当前文件夹中的文件名GetBaseNamefilespec返回filespec指定的文件的名称,即包含文件途径但去掉了文件的扩展名GetExtensionNamefilespec返回filespec指定的文件的扩展名GetFilefilespec返回filespec指定的文件所对应的File对象。可以指定文件的相对或绝对途径GetFileNamepathspec返回pathspec指定的文件的途径或文件名,假如没有文件名就返回最后的文件夹名。不检查该文件或文件夹是否存在GetTemp
30、Name返回一个随机产生的文件名,用于完成运算所需的临时文件或文件夹MoveFilesource,destination将source指定的一个或多个源文件挪动到destination指定的目的文件夹。在source里可以包含通配符,但destination不行。假如source包含通过配符或destination末尾是途径分隔符'',那么认为destination是一文件夹。否那么,认为destination是一新文件夹的完好途径和名称。假如目的文件夹已经存在那么产生错误OpenTextFilefilename,iomode,create,format创立一个名叫做filen
31、ame的文件,或翻开一个现有的名为filename的文件,并且返回一个与其相关的TextStream对象。filename参数可以包含绝对或相对途径。iomode参数指定了所要求的访问类型。允许的数值是ForReading1缺省、ForWriting2、ForAppending8。当写入或追加到一个不存在的文件时,假如create参数设置为true,就将创立一个新文件。缺省的create参数是False。format参数说明对文件读或写的数据格式。允许数值是:TristatetFalse0缺省,按照ASCII格式翻开;TristatetTrue-1,按照Unicode格式翻开;Tristate
32、Default-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=ChrintCodeIf
33、 objFSO.DriveExistsstrLetterThen Response.Write"Found drive"&strLetter&":BR"End If Next 1.Folder对象Driver对象的RootFolder属性返回一个Folder对象,通过该对象可访问这个驱动器内的所有的内容。可以使用这个Folder对象的属性和方法遍历驱动器上的目录,并得到该文件夹和其他文件夹的属性。1Folder对象的属性Folder对象提供一组属性,可用这些属性得到关于当前文件夹的更多信息,也可以改变该文件夹的名称。其属性及说明如表5-9
34、所示:表5-9 Folder对象的属性及说明属性说明Attributes返回文件夹的属性。可以是以下值中的一个或其组合:Normal0、ReadOnly1、Hidden2、System4、Volume名称8、Directory文件夹16、Archive32、Alias64和Compressed128。例如,一个隐藏的只读文件,Attributes的值为3 DateCreated返回该文件夹的创立日期和时间DateLastAccessed返回最后一次访问该文件夹的日期和时间DateLastModified返回最后一次修改该文件夹的日期和时间Drive返回该文件夹所在的驱动器的驱动器字母Files返回Folder对象包含的Files集合,表示该文件夹内所有的文件IsRootFolder返回一个布尔值说明该文件夹是否是当前驱动器的根文件夹Name设定或返回文件夹的名字ParentFolder返回该文件夹的父文件夹对应的Folder对象Path返回文件夹的绝对途径,使用相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子包装买卖合同4篇
- 3G系列鼠标2025年度销售代理合同2篇
- 专业车辆考试题库及答案
- 上海安全员B证考试题库及答案
- 胰腺疾病术后护理
- 家具商场出租合同6篇
- 工业设计美学分享
- T/ZJSEE 0014-2023集中压缩空气综合供应系统建设质量验收规程
- 新型疫苗:亚单位疫苗项目绩效评估报告
- 木聚糖酶项目绩效评估报告
- 《香格里拉松茸保护与利用白皮书》
- 2025届上海市中考联考生物试卷含解析
- 信息化平台项目集成联调测试方案
- 2020-2024年高考语文真题语病题汇编及解析
- 医院危险品安全管理培训
- 早产儿体位管理的个案护理
- 《工业废水深度处理零排放技术规范》编制说明
- 国开电大《财务报表分析》形考任务1-4
- 安全生产劳动纪律
- 《国际银团贷款》课件
- GB/T 23356-2024卷烟烟气气相中一氧化碳的测定非散射红外法
评论
0/150
提交评论