VBS中FileSystemObject对象详解(完整版)

2019-01-15 19:09:06王旭

示例:

Dim sourcepath
sourcepath = "C:/testing"
Call FolderAttributes(sourcepath)

Sub FolderAttributes(sourcepath)
Dim fso,objset
Set fso = CreateObject("Scripting.FileSystemObject")
'使用GetFolder方法来返回Folder对象
Set objset = fso.getFolder(sourcepath)
'将testingw文件夹及文件夹里所有的内容全部删除
objset.Delete(True)
End Sub

备注:如果文件夹属性为只读且Delete的参数为False,则脚本在运行是将提示“没有权限”;当文件夹不存在时,将提示“路径未找到”。

Move的使用

方法名:Move(destination)
说明:将文件夹及里面所有的内容移动到 destination 指定的文件夹。详细说明请见表5
示例:

Dim sourcepath
sourcepath = "C:/testing"
Call FolderAttributes(sourcepath)

Sub FolderAttributes(sourcepath)
Dim fso,objset
Set fso = CreateObject("Scripting.FileSystemObject")
'使用GetFolder方法来返回Folder对象
Set objset = fso.getFolder(sourcepath)
'使用Move()将testing文件夹及里面所有的内容,移动到目标文件夹123中
objset.Move("C:/123")
End Sub

备注:如果目标文件夹123已存在,则脚本运行时提示“文件已存在”;如果目标文件夹123在D:/,则脚本运行使提示“没有权限”

CreateTextFile的使用

方法名:CreateTextFile(filename,overwrite,unicode)
说明:创建指定文件并返回 TextStream 对象,该对象可用于读或写创建的文件。详细说明请见表5。
示例:

Dim sourcepath
sourcepath = "C:/testing"
Call FolderAttributes(sourcepath)

Sub FolderAttributes(sourcepath)
Dim fso,objset
Set fso = CreateObject("Scripting.FileSystemObject")
'使用GetFolder方法来返回Folder对象
Set objset = fso.getFolder(sourcepath)
'在testing文件夹下,使用CreateTextFile()创建myClass2.doc文件
objset.CreateTextFile "myClass2.doc",true
End Sub

备注:CreateTextFile()所创建的文件类型是根据所提供的扩展名来确定的,如也可以写成myClass2.txt、myClass.exe等等;FileSystemObject对象也可以调用CreateTextFile(),我们可以将上面的代码改写成:
fso.CreateTextFile “C:/testing/myClass.doc”,true

Folder对象所提供的属性:

 

表6 Folder 对象的属性及说明

属性

说明

Attributes

返回文件夹的属性。可以是下列值中的一个或其组合:Normal(0)、ReadOnly(1)、Hidden(2)、System(4)、Volume(名称)(8)、Directory(文件夹)(16)、Archive(32)、Alias(64) 和 Compressed(128)。例如,一个隐藏的只读文件,Attributes 的值为 3

DateCreated

返回该文件夹的创建日期和时间

DateLastAccessed

返回最后一次访问该文件夹的日期和时间

DateLastModified

返回最后一次修改该文件夹的日期和时间

Drive

返回该文件夹所在的驱动器的驱动器字母

Files

返回 Folder 对象包含的 Files 集合,表示该文件夹内所有的文件

IsRootFolder

返回一个布尔值说明该文件夹是否是当前驱动器的根文件夹

Name

设定或返回文件夹的名字

ParentFolder

返回该文件夹的父文件夹对应的 Folder 对象

Path

返回文件夹的绝对路径,使用相应的长文件名

ShortName

返回 DOS 风格的 8.3 形式的文件夹名

ShortPath

返回 DOS 风格的 8.3 形式的文件夹的绝对路径

Size

返回包含在该文件夹里所有文件和子文件夹的大小

SubFolers

返回该文件夹内包含的所有子文件夹对应的 Folders 集合,包括隐藏文件夹和系统文件夹

Type

如果可能,返回一个文件夹的说明字符串(例如,“Recycle Bin”)