VB怎么用filecopy复制文件夹?

VB怎么用filecopy复制文件夹?,第1张

VB复制文件夹使用CopyFolder方法实现。

CopyFolder 方法

描述

从一个地方递归地复制一个文件夹到另一个地方。

语法

object.CopyFolder source, destination[,

overwrite]

实现代码中的source路径不能有错,否则VB报错。

将C盘下的Program Flles目录夹复制到D盘Program Flles目录夹的实际代码如下:

Private Sub Command1_Click()

    CreateObject("scripting.filesystemobject").copyfolder "c:\Program Files", "D:\Program Files"

End Sub

Dim fs ' 先声明一个变体型

Set fs = CreateObject("Scripting.FileSystemObject") '创建文件系统对象fs

fs.copyfile "D:\copyto.txt", "E:\"'使用该对象的copyfile方法将源文件复制到目标文件

用CopyFolder 方法可以复制文件夹。

语法

object.CopyFolder source, destination[, overwrite]

其中,object只能是FileSystemObject对象(见后面示例).

CopyFolder 方法语法有如下几部分:

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 是一个目录,它将尝试复制文件夹和它所有的内容。如果一个包含在 source 的文件已在 destination 中存在,当 overwrite 为 False 时发生一个错误,否则它将尝试覆盖这个文件。

如果 destination 是一个只读目录,当尝试去复制一个已存在的只读文件到此目录并且 overwrite为 False 时,则发生一个错误。

如果 source 使用的通配符不能和任何文件夹匹配,也发生一个错误。

CopyFolder 方法停止在它遇到的第一个错误上。不要尝试回卷错误发生前所做的任何改变。

示例:

Set fs = CreateObject("Scripting.FileSystemObject")

fs.CopyFolder "C:\Downloads\", "D:\"

FileSystemObject对象除了CopyFolder方法,还有其它很多,如BuildPath、CopyFile、CreatFolder等等,详见msdn帮助


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11435356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存