fso对象模型

12 篇文章 1 订阅
7 篇文章 2 订阅

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 开始返回文件中当前行的行号


  


  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值