fso对象模型

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


  

posted @ 2015-10-11 01:12  whchensir  阅读(420)  评论(0编辑  收藏  举报