VBS教程:方法-CopyFolder 方法

(编辑:jimmy 日期: 2024/12/23 浏览:2)

CopyFolder 方法

将文件夹从某位置递归复制到另一位置。

object.CopyFolder source, destination[, overwrite]

参数

object

必选项。应为 FileSystemObject 对象的名称。

source

必选项。表示指定文件夹的字符串。要复制一个或多个文件夹时,可使用通配符。

destination

必选项。表示目标位置的字符串,复制 source 文件夹或子文件夹到该位置。不允许用通配符。

overwrite

可选项。Boolean 值表明是否覆盖现有文件夹。如果为 True,则覆盖文件;如果为 False,则不覆盖文件。默认值是 True

说明

仅能在 source 参数的路径最后一个组成部分中使用通配符。例如,可以使用:

FileSystemObject.CopyFolder "c:\mydocuments\letters\*", "c:\tempfolder\"

但是,不可以使用:

FileSystemObject.CopyFolder "c:\mydocuments\*\*", "c:\tempfolder\"

如果 source 包含通配符或 destination 以路径分隔符 (\) 结束,则假定 destination 是现有文件夹,在该文件夹中复制匹配文件夹或子文件夹。否则,假定 destination 是要创建的文件夹。在任一种情况下,复制单个文件夹时,会发生如下四种情况。

  • 如果 destination 不存在,则复制 source 文件夹和其所有内容。这是通常会发生的情况。
  • 如果 destination 是已经存在的文件,则出现错误。
  • 如果 destination 是目录,则复制文件夹和其中的所有内容。如果在 destination 已经存在 source 包含的文件,且 overwriteFalse,则会出现错误。否则,复制该文件覆盖现有文件。
  • 如果 destination 是只读目录,在向该目录复制现有只读文件,且 overwriteFalse 时,就会出现错误。

如果 source 使用通配符,但没有匹配文件时,也会出现错误。

CopyFolder 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所作的任何更改。