VBS基础篇 - FileSystemObject对象详解

2019-01-15 19:29:16王冬梅

GetParentFolderName的使用

方法名:GetParentFolderName(pathspec)

说明:返回字符串,该字符串包含指定的路径中最后一个文件或文件夹的父文件夹。

示例:

Dim objfso '创建FileSystemObject对象 Set objfso = createobject("Scripting.filesystemobject") '使用GetParentFolderName方法来返回上一层文件夹 msgbox (objfso.GetParentFolderName("C:/WINDOWS/addins"))

GetSpecialFolder的使用

方法名:GetSpecialFolder(folderspec)

说明:返回指定的特殊文件夹。详细说明请查看表4。

示例:

Dim fso,tempName Set fso = CreateObject("Scripting.FileSystemObject") 'GetSpecialFolder()中的参数2,返回一个名为Temp的临时文件夹 Set tempName = fso.GetSpecialFolder(2) msgbox tempName

MoveFolder的使用

方法名:MoveFolder(source,destination)

说明:将一个或多个文件夹从某位置移动到另一位置。详细说明请查看表4。

示例:

Dim sourcepath,destination sourcepath = "C:/testing" destination = "C:/123" '调用MoveFolders方法 call MoveFolders(sourcepath,destination) Sub MoveFolders(sourcepath,destination) Dim fso '创建FileSystemObject对象 Set fso = CreateObject("Scripting.FileSystemObject") '使用MoveFolder方法,将testing文件夹的内容移动到123文件夹下 fso.MoveFolder sourcepath,destination End Sub

注:如果脚本在运行前文件夹123已存在,则运行是会发生错误;在不同的磁盘下MoveFolder方法不能用

上面提到的Folder方法是基于FileSystemObject 对象的,现在我们来看看基于Folder对象的方法。

Folder对象所提供的方法

Folder 对象提供一组可用于复制、删除和移动当前文件夹的方法。这些方法的运行方式与 FileSystemObject 对象的CopyFolder、DeleFolder 和 MoveFolder 方法相同,但这些方法不要求 source 参数,因为源文件就是这个文件夹。

备注:CopyFolder、DeleFolder等方法是基于FileSystemObject 对象的;而下面的Copy、Delete等方法是基于FileSystemObject对象下的Folder对象,他们实现的功能是类似的。

表5 Folder 对象的方法及说明

方法

说明

Copy(destination,overwrite)

将这个文件夹及所有的内容复制到 destination 指定的文件夹。如果 destination 的末尾是路径分隔符(‘'),那么认为 destination 是放置拷贝文件夹的一个文件夹。否则认为 destination 是要创建的新文件夹的路径和名字。如果目标文件夹已经存在且 overwrite 参数设置为 False,将产生错误,缺省的 overwrite 参数是 True

Delete(force)

删除文件夹及里面的所有内容。如果可选的 force 参数设置为 True,即使文件夹设置为只读或含有只读的文件,也将删除该文件夹。缺省的 force 是 False

Move(destination)

将文件夹及里面所有的内容移动到 destination 指定的文件夹。如果 destination 的末尾是路径分隔符(‘'),那么认为 destination 是放置移动文件夹的一个文件夹。否则认为 destination 是一个新的文件夹的路径和名字。如果目标文件夹已经存在,则出错

CreateTextFile(filename,overwrite,unicode)

用指定的文件名在文件夹内创建一个新的文件,并且返回一个相应的TextStream 对象。如果可选的 overwrite参数设置为True,将覆盖任何已有的同名文件。缺省的overwrite 参数是 False。如果可选的 unicode 参数设置为 True,文件的内容将存储为 unicode 文本。缺省的 unicode 是 False