fso对象模型

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

fso对象模型

(一)创建fso对象模型

    由于fso对象包含在scripting 类型库 (scrrun.dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“microsoft scripting runtime”前的复选框,然后单击“确定”。

    要创建fso对象可以采用两种方法,
一种是将一个变量声明为fso对象类型: dim fsotest as new filesystemobject;
另一种是通过createobject方法创建一个fso 对象:set fsotest =createobject("scripting.filesystemobject")

(二)FSO的常见对象:

对象/集合描述
drive包含储存设备的信息,包括硬盘、光驱、ram盘、网络驱动器
drives本地机器上所有可用drive对象的drives集合
file检查和处理文件
files提供包含在文件夹内的所有文件的列表
folder检查和处理文件夹
folders提供在 folder 内的所有文件夹的列表
textstream对象。用来读写文本文件。

  (方法)

fso.createtextfile(strfile,blnoverwrite)创建一个空文件
fso.createfolder(strfolder)  创建一个空的文件夹
fso.deletefile(strfile,force)  删除一个文件
fso.deletefolder(strfolder , force)  删除一个文件夹
fso.fileexists(strfile) 判断指定文件是否存在
fso.folderexists(strfolder) 判断指定文件夹是否存在
fso.copyfile(source,destination[,overwrite])将一个或多个文件从某位置复制到另一位置
fso.copyfolder(source,destination[,overwrite])将文件夹从某位置复制到另一位置
fso.movefile (source, destination)将一个或多个文件从某位置移动到另一位置
fso.movefolder (source, destination)将一个或多个文件夹从某位置移动到另一位置
fso.BuildPath(path, name)追加一个名字到一个已经存在的路径
fso.GetAbsolutePathName(pathspec)从提供的路径说明中返回一个完整、明确的路径(类似Dos命令)
fso.GetDriveName(path)一个包含指定路径的驱动器名字的字符串
fso.GetDrive (drivespec)一个与指定路径中的驱动器相对应的 Drive 对象
fso.getBasename(path) 一个包含路径中最后部件的基本名字(去掉任何文件扩展名)的字符串
fso.getExtensionName(path)获取文件后缀名
fso.GetFileName(pathspec)指定路径中的最后部件,该路径不是驱动器说明的一部分。
fso.GetFile(filespec)一个和指定路径中文件相对应的 File 对象。
fso.GetFolder(folderspec)一个和指定路径中文件夹相对应的 Folder 对象
fso.GetParentFolderName(path)一个包含指定路径最后部件父文件夹名字的字符串
fso.GetSpecialFolder(folderspec)特殊文件夹,常数WindowsFolder,SystemFolder,TemporaryFolder
fso.GetTempName一随机产生的临时文件或文件夹名字,该名字在执行某些操作时有用。
fso.OpenTextFile(filename)打开一指定的文件,并返回一TextStream对象
  

三)drive对象

方 法说 明
driveexists(drivespec)drivespec参数可以是一个驱动器字母,或者是文件、文件夹的完整绝对路径
getdrive(drivespec)drivespec指定的驱动器所对应的drive对象。可包含冒号、路径分隔符或者是网络共享名
getdrivename(drivespec)用字符串返回drivespec指定的驱动器的名称。
drivespec参数必须是文件或文件夹的绝对路径,或驱动器字母

   (常用属性)

totalsize属性驱动器的总容量,以字节为单位
availablespace或freespace属性驱动器的可用空间是多少,以字节为单位
driveletter属性哪个号被赋给了该驱动器
drivetype属性驱动器的类型是,如可移动的、固定的、网络的、cd-rom 或 ram 磁盘
serialnumber属性驱动器的序列号
filesystem属性驱动器使用的文件系统类型,如 fat、fat32、ntfs 等等
isready属性驱动器是否可以使用
sharename和 volumename属性共享和/或卷的名字
path和rootfolder属性驱动器的路径或根文件夹
 

(四)folder对象

  (常用属性) 

objfldr.files

返回由指定文件夹中所有file对象(包括隐藏文件和系统文件)组成的files集合

objfldr.isrootfolder

判断指定的文件夹是否是根文件夹,是返回true ;否则false 

objfldr.subfolders

返回由指定文件夹中所有子文件夹组成的folders集合 

attributes属性datecreated属性
datelastaccessed属性datelastmodified属性
drive属性name属性
parentfolder属性path 属性
shortname属性shortpath属性
size属性type属性

 (常用方法)

fso对象folder有关文件夹的方法(仅常用的方法)
objfldr.createfolder创建一个文件夹
objfldr.deletefolder删除一个文件夹
objfldr.movefolder移动一个文件夹
objfldr.copyfolder复制一个文件夹
objfldr.folderexists查找一个文件夹是否在驱动器上
objfldr.getfolder获得已有folder对象的一个实例
objfldr.getparentfoldername找出一个文件夹的父文件夹的名称
objfldr.getspecialfolder找出系统文件夹的路径
  
folder对象的方法用途
objfldr.delete创建一个文件夹
objfldr.move移动一个文件夹
objfldr.copy复制一个文件夹
objfldr.name检索文件夹的名称

  在此需要强调一点,前面我们曾经提到过fso对象模型包含的方法是冗余的,所以folder对象的delete、move、copy方法和filesystemobject对象的deletefolder、movefolder、copyfolder方法实际上是相同的,因此在实际使用中可以任选其中的一种。

(五)file对象

objfile.copy(destination[,overwrite])将指定的文件从某位置复制到另一位置。 
objfile.delete force删除指定的文件 
objfile.move(destination)将指定的文件从某位置移动到另一位置。 
objfile.attributes [= newattributes]设置或返回文件的属性,可读写或只读(与属性有关) 
objfile.datecreated返回指定的文件或文件夹的创建日期和时间
objfile.datelastaccessed返回指定的文件或文件夹的上次访问日期和时间 
objfile.datelastmodified返回指定的文件或文件夹的上次修改日期和时间 
objfile.name [= newname]设置或返回指定的文件或文件夹的名称,可读写 
objfile.parentfolder返回指定文件或文件夹的父文件夹 
objfile.shortname返回按照早期 8.3 文件命名约定转换的短文件名 
objfile.shortpath返回按照 8.3 命名约定转换的短路径名 
objfile.size返回指定文件的字节数 
objfile.type返回文件或文件夹的类型信息

copy 方法 delete 方法
move 方法 createtextfile 方法

(六)TextStream对象

    是用于访问文本文件的对象,可以通过FileSystemObject 对象的CreateTextFile()及OpenTextFile(),来获取TextStream的对象句柄。

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objStream = objFso.CreateTextFile(strPath,True) '使用CreateTextFile(),来返回一个TextStream对象句柄
Set objStream = objFso.OpenTextFile(strPath,1,true) '以只读的方式打开文件,如果文件不存在则创建它

  TextStream对象的方法

方法 说明
Close() 关闭一个打开的文件
Read(numchars) 从文件中读出 numchars 个字符
ReadAll() 作为单个字符串读出整个文件
ReadLine() 作为一个字符串从文件中读出一行(直到回车符和换行)
Skip(numchars) 当从文件读出时忽略 numchars 个字符
SkipLine() 当从文件读出时忽略下一行
Write(string) 向文件写入字符串 string
WriteLine(string) 向文件写入字符串 string(可选)和换行符
WriteBlankLines(n) 向文件写入 n 个换行符

  TextStream对象的属性

属性 说明
AtEndOfLine 如果文件位置指针在文件中一行的末尾则返回 True
AtEndOfStream 如果文件位置指针在文件的末尾则返回 True
Column 从 1 开始返回文件中当前字符的列号
Line 从 1 开始返回文件中当前行的行号


  


VBA FSO 对象模型知识点梳理 目录一. FSO-文件系统对象1.1 FSO的用途1.2 FSO 对象模型所包含的对象1.3 FSO对象的创建1.4 FSO对象属性示例二 FSO 中的方法和属性2.1 属性2.2 方法2.2.1 BuildPath 方法2.2.2 FileExists 方法2.2.3 GetFile 方法2.2.4 GetFileName 方法2.2.5 GetFileVersion 方法2.2.6 CopyFile 方法2.2.7 CreateTextFile 方法2.2.8 MoveFile 方法2.2.9 De.. 阅读详情

相关推荐

怎么样使用FSO

为了使用FSO来执行所有的工作,首先要创建对象,代码就象下面这样:      这样就建立了FSO并且赋予变量fso,接着就可以使用熟悉的object.method语法来执行文件系统的操作〔查看Visual Basic文档,获取更多的关于对象对象向导编程的知识〕。在这里,我们可以使用fso.method 或者 fso.property,这些将在下面的例子中看到。

VB6中FSO具体应用详解

文前申明:原文为通用版实例代码,本菜鸟在每例之后加入一个简单的实例(均验证通过),供有需要的朋友参考.您正在看的VB教程是:VB入门基础认识VB的文件系统对象FSO。在VB编程中经常需要和文件系统打交道,比如获取硬盘的剩余空间、判断文件夹或文件是否存在等。在VB推出文件系统对象以前,完成这些功能需要调用函数或者使用一些比较复杂的过程来实现,使编程复杂、可靠性差又容易出错。使用Windows提供的的文件系统对象,一切变得简单多了。

sun13047140038的博客 1526

复制文件或文件夹时出错 未指定的错误_使用FSO对象操作文件夹

大家好,我们今日讲解“VBA信息获取与处理”教程中第十八个专题“FSO对象对文件及文件夹的处理”的第一节“使用FSO对象操作文件夹”,这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序文件。大家好,我们开始一个新专题的学习,这个专题中我们将讲解利用FSO(FileSystemObject)对象来完成文件及文件的一些操作。FSO对象我们一般利用下面的语句进行引用并赋值给一个对象变量...

weixin_39918128的博客 1094

什么是FSO

FSO对象包括驱动器对象(Drive Object)用来存取本地盘或网络盘,文件系统对象(FielSystemObject 简称FSO)是用来存取文件系统文件夹对象(Folder Object)用于存取文件夹的各种属性文本流对象(TextStream Object 简称TS)存取文件内容使用以上对象,你的确可以在一台电脑上为所欲为,但同样也可能会造成灾难,所以在使用FSO的时候要注意安全...

weixin_33966095的博客 325

VBA FSO对象模型详解(转载)

文章来源:http://club.excelhome.net/blog-238368-1693.html 转载方便整理收集,如有侵权,联系删除。谢谢! 一个高手的代码:遍历文件夹下的文件夹 Public Fso As Object Sub getFldList() Set Fso = CreateObject("Scripting.FileSystemObject") Fldnm (CreateObject("Shell.Application").BrowseFo..

yuzhongdexia的博客 3094

FSO对象模型在VB中的应用

FSO对象模型在VB中的应用  2003-01-28· · ··天极论坛  从 Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用 Open 、Write以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。  一

洪虎专栏 1195

VB--FSO对象模型在VB中的应用

FSO对象模型在VB中的应用 从 Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用 Open 、Write以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。一、简介文件系统对象FSO的英文全称是File Sy

孤夜寒心泪学习随笔 1802

VBA FSO对象模型详解(来自百度文库)

一个高手的代码:遍历文件夹下的文件夹 Public Fso As Object Sub getFldList() Set Fso = CreateObject("Scripting.FileSystemObject") Fldnm (CreateObject("Shell.Application").BrowseForFolder(0, "请选择文件夹", 0, "").Se...

weixin_43721369的博客 796

VB 中 FSO 对象模型介绍

在 VB 中应用 FSO 对象模型介绍           从 Visual Basic 的第一版至今,VB 中有关文件的处理都是通过使用 Open 、Write 以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从 VB 6.0 开始,微软提出了文件系统对象

whchensir的专栏 4617

VB6中的FSO对象模型

 在编程中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。在VB6中新提供了一套称为FSO(File System Object)对象模型来对文件系统进行访问处理。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,我们可以在应用程序中更简单、灵活地对文件系统进行各种操作。   一、FSO简介   F

caocg504的专栏 1369

VBA FSO对象模型详解

一个高手的代码:遍历文件夹下的文件夹Public Fso As Object Sub getFldList()     Set Fso = CreateObject("Scripting.FileSystemObject")     Fldnm (CreateObject("Shell.Application").BrowseForFolder(0, "请选择文件夹", 0, "").Self.P...

Seabiscuit_92的博客 5884

File System Object(FSO对象)A

FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象: 1、Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型 2、Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作 3、File的基本操作和Folder基本相同,所不同...

weixin_30746117的博客 489

使用FSO把文本信息导入数据库

在开发WEB应用程序中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。在VB6中新提供了一套称为FSO(File System Object)对象模型来对文件系统进行访问处理。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,我们可以在应用程序中更简单、灵活地对文件系统进行各种操作。   一、FSO简介   F

barer的专栏 752

Windows下使用脚本语言操作文件系统之三-FSO对象

FileSystemObject对象模型FSO对象模型包括了FSO对象和其他四个对象以及两个集合,它们可以用来:创建、修改、移动、删除文件或文件夹,判定一个文件和文件夹是否存在。获取文件系统的驱动器的信息,以及获取文件夹的信息,如名称、创建日期或最后修改日期。FSO对象模型还提供了一种非层次性的结构,用来操作、读取和创建 ASCII 和 Unicode文本文件FSO对象模型...

weixin_33985507的博客 254
上一篇: VB6 常用部件,引用备查
下一篇: 插入排序的优化,比较插入同步进行
whchensir
博客等级 码龄22年 192粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值