




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB中利用FSO对象对文件夹操作windows还给我们提供了一个叫做FileSystemObject(简称FSO)对象。FSO对象模型中包括了计算机文件系统所有的对象。见下。利用这些对象可以更方便的操作文件系统。 对象 功能 Drive允许收集系统的驱动器信息,诸如驱动器的可用空间 Folder允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等等 Files允许创建、删除或移动文件,并向系统查询文件的名称、路径等等 FileSysterObject此为主要对象,提供一整套用于创建、删除、搜集相关信息,以及通常的操作驱动器,文件夹,和文件的方法。 TextStream允许读写文本文件 下面我们一起来看看怎样用FSO对象来显示、新建、修改以及删除目录。 FSO对象模型包含在Scripting的类型库中,此类型库存在于Scrrun.dll文件中.使用FSO对象模型,首先要建立一个FileSystemObject对象。有两种方法可以实现。一种是从”工程”菜单中的”引用”对话框选择”Microsoft Scripting Runtime”项,然后在代码窗口中声明一个FileSystemObject类型的变量.语句如下: Dim fso As New FileSystemObject 另一种方法是在代码中使用CreatObject方法动态的创建一个FileSystemObject对象.语句如下: Dim fso As Object 声明对象变量 Set fso = CreatObject(“Scripting. FileSystemObject”) 创建FSO对象 我们具体看看FileSystemObject的主要属性. 1、驱动器 (1) Drives属性是FileSystemObject对象的唯一属性,它返回Drives集合中所有可用驱动器的只读集合。对于可删除的驱动器,不需要将媒体插入其中,就可以在Drives集合中显示出来。下面是它的主要属性有两个:一个是Count,另一个是Item.Count属性返回Drives集合或Dictionary对象中的条目数.Item属性用来返回或设置Drives集合或Dictionary对象中与指定关键字相关的项目. 下面代码说明了如何获得Drives集合,以及如何用For EacnNext语句来访问该集合中的每个Drive: Sub ShowDriveList() Dim fs As Object, d, dc, s,n 创建文件系统对象 Set fs = CreatObject(“Scripting. FileSystemObject”) 创建驱动器集合 Set dc= fs.Drives 取的驱动器对象 For Each d in dc s = s & d.DriveLetter & “-” 格式化文本 If d.DriverType = Remote Then 如果是Remote类型的驱动器 n = d.ShareName 取得它的共享名 Else n = d.volumeName 否则取得它的卷标 End if s= s& n & vbCrLf 格式化文本 Next MsgBox s 显示文本 End sub (2) 当然我们也可以用Drive对象.Drive对象提供了对磁盘驱动器或网络共享属性的访问方法.下面是它的主要属性及其解释: Availablespace驱动器已用空间DriveLetter驱动器指定的字母 Freespace驱动器剩余空间DriverType驱动器类型 TotalSize驱动器全部空间FileSystem驱动器文件系统 IsReady驱动器是否已准备Path驱动器根目录 SerizlNumber驱动器序列号VolumeName驱动器卷标 ShareName驱动器共享名 主要的方法就是GetDrive,此方法用来访问一个已有的驱动器,该方法返回一个与指定路径中的驱动器相对应的Drive对象。下面的代码中,我们将说明怎样取得一个指定的驱动器的相关信息: Sub ShowFreeSpace(drvPath) 显示指定目录下的驱动器的信息 Dim fs As Object, d, s Set fs = CreateObject(Scripting.FileSystemObject) 创建文件系统对象 Set d = fs.GetDrive(fs.GetDriveName(drvPath) 创建并得到指定取目录下的驱动器 s = Drive & UCase(drvPath) & - 格式化文本 s = s & d.VolumeName & vbCrLf 得到驱动器的卷标 s = s & FreeSpace: & FormatNumber(d.FreeSpace / 1024, 0) 计算驱动器的剩余磁盘空间 s = s & Kbytes MsgBox s 显示 End Sub 下面是filesystemobject的其他方法 CreateFolder该方法的作用是创建一个文件夹。所要创建的文件夹必须是不存在的,否则出错。 CreateTextFile该方法的作用是产生一个指定的文件名,并返回一个TextStream对象,该对象可被用于对指定的文件进行读写。如果overwrite参数为False或未指定,对于一个已存在的文件,将产生错误。 DeleteFile该方法的作用是删除一个指定的文件。如果指定的文件不存在,则出错。 DeleteFolder该方法的作用是删除一个文件夹及其内容。如果没有发现匹配的文件夹则出错。该方法不能确定文件夹中是否包含内容。 DriveExists该方法的作用是用来确定驱动器是否存在。如果指定的驱动器存在,则返回True,否则返回False。但对于可删除介质的驱动器,即使没有介质存在,DriveExists方法也返回True,因此最好使用IsReady属性确定驱动器是否准备就绪。 FileExists该方法的作用是判断指定的文件对象是否存在于当前文件夹 FolderExists该方法的作用是判断指定的文件夹对象是否存在于当前文件夹 GetDrive该方法的作用是返回一个在指定路径中的与某个驱动器相对应的Drive对象。对于网络驱动器,将首先检查该共享是否存在。 GerDriveName该方法的作用是返回包括某一指定路径上的驱动器名的字符串。如果驱动器不能确定,则返回一个0长度字符串。该方法只对指定的路径起作用,它并不试图解析路径,也不检查指定路径是否存在。 GetExtensionName该方法的作用是返回指定路径中最后一个组成部分的扩展名。 GetFile该方法的作用是返回指定路径中与某一文件相关的File对象。一定要保证所指定的文件是实际存在的。否则将产生错误。 GetFileName该方法的作用是返回指定路径的最后一个组成部分的文件名。 GetFolder该方法的作用是返回指定路径上的与某个文件夹相关的Folder对象.要保证指定的文件夹是实际存在的,否则会出错. 使用Folder对象的第一部就是先用FileSystemObjectd的GetFolder方法得到Folder对象 GetParentFolderName该方法的作用是返回一个包含指定路径上的最后一个组成部分的父文件夹的名称。 MoveFile该方法的作用是将一个或多个文件从一个地方移动到另一个地方。 MoveFolder该方法的作用是移动一个或多个文件夹,如果源路径包含通配符,或目的路径以斜杠()为结束,则表明目的路径为已存在的路径,在此文件夹中移动相匹配的文件夹.否则,认为目的路径是一个要创建的目标文件夹的名字.如果目的路径为一个已存在的文件或目的路径为一个目录,则出错.如果没有任何文件与源路径中的通配符相匹配也出错. OpenTextFile该方法可用来打开一个指定的文件,并返回一个TextStream对象。用于读文件或追加文件。 2、文件夹 对文件夹的操作,我们可以使用folder对象,它提供了对文件夹所有属性和方法的访问.下表市对其主要属性的解释:DateCreated返回指定文件或文件夹的创建日期和时间 DateLastAccessed返回最后一次访问指定文件或文件夹的日期和时间 Drive返回指定文件或文件夹所在的驱动器符号 Files返回由File对象组成的所有Files集合,这些Files集合包含在指定的文件夹中,包括设置了隐藏和系统文件属性的那些文件夹 IsRootFolder如果指定的文件夹是根文件夹,则返回True,否则返回False Name设置或返回指定文件或文件夹的名称 ParentFolder返回指定文件或文件夹的父文件夹的Folder对象 Path返回指定文件、文件夹或驱动器的路径 ShortName返回较早的需要8.3文件命名约定的程序所使用的短文件名 ShortPath返回较早的需要8.3文件命名约定的程序所使用的短路径 Size对文件来说,本属性返回以字节为单位的文件大小;对文件夹来说,返回以字节为单位包括其中所有文件或子文件夹的大小 SubFolders返回包含所有文件夹的一个Folders集合,这些文件夹包含在某个特定文件夹中, 包括设置了隐藏和系统文件属性的那些文件夹 Type返回指定文件或文件夹的类型信息. 使用Folder对象的第一部就是先用FileSystemObjectd的GetFolder方法得到Folder对象, 该方法的作用是返回指定路径上的与某个文件夹相关的Folder对象.要保证指定的文件夹是实际存在的,否则会出错. 让我们来看一看其中的各种属性及其用法吧. (1)Attributes属性可以返回文件或文件夹的属性,或者设置他们的新属性.所设属性可以是以下值中任意一个或多个的逻辑组合. 常数值说明 Normal0为一般文件,不设置属性 ReadOnly1为只读文件,属性为读/写 Hidden2为隐藏文件,属性为读/写 System 4为系统文件,属性为读/写 Volume8为磁盘驱动器卷标,属性为只读 Directory16为文件夹或目录,属性为只读 Archive32在上次备份后已经改变的文件,属性为读/写 Alias64为链接或快捷方式,属性为只读 Compressed128为压缩文件,属性为只读 (2)DateCreated属性返回指定文件或文件夹的创建日期和时间,本属性为只读属性. 下面是用法: Sub ShowFolderList( folderspec ) folderspec 为文件夹名称 Dim fs , f, f1,fc , s Set fs = CreateObject(“Scripting.FileSystemObject”) Set f = fs.GetFolder(folderspec) 得到folderspec文件夹相关的folder对象 Set fc = f.SubFolders 得到folder对象所包含的文件夹的folder集合 For Each fi in fc 访问folder集合中的每一个folder s= s & 格式化要显示的文本 s= s & vbCrLf Next MsgBox s 用对话框显示信息 End Sub (3)DateLastModified属性用来返回最后一次修改指定文件或文件夹的日期和时间,本属性为只读. 下面代码用一个文件举例说明了DataLastModified属性的用法: Sub ShowFileAccessInfo(filespec) Dim fs,f,s Set fs = CreateObject(“Scripting.FileSystemObject”) Set f = fs.GetFolder(folderspec) 得到folderspec文件夹相关的folder对象 s= Ucase(filespec) & vbCrLf s= s& “Created:” & f.DateCreate & vbCrLf s= s & “Last Accessed :” & f.DateLastAccessed & vbCrLf s= s & “Last Modifide :” & f.DateLastModified MsgBox s, 0,”File Access Info” End Sub (4)Type属性返回关于某个文件或文件夹类型的信息.例如对于以.TXT结尾的文本文件来说,本属性会返回”Text Document”.下面的代码举例说明了返回某个文件夹类型的Type属性的用法.在这个示例中,试图将Recycle Bin的路径或其他唯一的文件夹提供给过程. Sub ShowFileSize( filespec ) Dim fs,f,s Set fs = CreateObject(“Scripting.FileSystemObject”) Set f = fs.GetFolder(folderspec) 得到folderspec文件夹相关的folder对象 S = Ucase(f.Name) & “is a ” & f.Type 格式化文本 MsgBox s,o, “File Size Info ” 显示信息 End Sub 主要方法有: (1)Copy方法: 该方法的作用是拷贝一个指定的文件或文件夹到指定的目录.该方法和FileSystemObject.CopyFile方法的作用相同(2)CreateTextFile方法: 该方法的作用是产生一个指定的文件名,并返回一个TextStream对象,该对象可被用于对指定的文件进行读写.如果overwrite参数为False或未指定,对于一个已存在的文件,将产生错误. (3)Delete方法: 该方法的作用是删除一个指定的文件或文件夹.如果指定的文件或文件夹不存在,则发生一个错误.对于一个File或Folder来说,Delete方法的运行的结果和执行FileSystemObject.DeleteFile或FileSystemObject.DeleteFolder的结果是一样的.Delete方法执行时与指定的文件夹中时候有内容无关. (4)Move 该方法用来将一个指定的文件夹或文件从一个地方移动到另一个地方,如果只是想移动一个文件或文件夹,则使用Move方法和使用FileSystemObject.MoveFile或FileSystemObject.MoveFolder操作的结果是一样的,但是如果要同时移动多个文件或文件夹,则只能使用后者。 讲了这么多,还是让我们来看一下具体的实现方法: 1、 创建一个文件夹 可以使用FileSystemObject对象的CreateFolder方法来实现,但要创建的文件夹必须不存在,否则出错。特别注意,FileSystemObject对象不能创建或删除驱动器。 下面的例子可以在应用程序所在目录下创建一个文件夹 Sub CreateFolder(folderspec) Dim fs Set fs = CreatObject(“Scripting.FileSystemObject”) fs.CreaterFolder(folderspec ) End sub 2、 删除一个或多个文件夹 可以使用FileSystemObject对象的Deletfolder方法,或者folder对象的Delete方法 Sub DeleteFolder(folderspec) Dim fs Set fs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030功能性食品原料审批动态与消费者教育效果评估报告
- 2025-2030功能性蛋白饲料原料进口替代机会与投资风险评估报告
- 2025-2030功率半导体模块封装测试工艺革新与车规级认证要求报告
- 2025-2030分布式储能管理系统关键技术突破与商业化应用前景评估报告
- 2026年中国储能电池技术创新及产业链分析报告
- 2025年制造业数字化转型数据治理企业数据治理与数字化转型战略实施报告
- 2025年金属非金属矿山地下矿山安全管理人员试题及答案
- 新能源行业人才流动趋势分析:2025竞争格局与产业创新生态报告
- 2025年制作与导演专业考试试题及答案
- 2025年西医内科学考试题含答案(附解析)
- Unit 5 Lesson 20 The Spring Festival Is Coming!(说课稿)-2024-2025学年冀教版(三起)英语五年级上册
- 智能悬架系统集成开发关键技术与实践-2024-12-技术资料
- 应用PDCA降低药占比
- 分包商安全管理规定(4篇)
- 超重与失重+说课高一上学期物理人教版(2019)必修第一册
- 公司收取管理费协议书范本
- JTS-165-6-2008滚装码头设计规范-PDF解密
- 设备维修与保养(课件)
- 医院培训课件:《和谐医患关系的建构与医疗纠纷的应对》
- 《肺癌基础知识课件》
- 会计继续教育《政府会计准则制度》专题题库及答案
评论
0/150
提交评论