怎么复制整个文件夹里面的内容?

sundylong 2003-09-09 10:21:13
我想用代码将整个文件夹(里面还有文件夹)的内容复制到另一个位置,该怎么办?
谢谢!!!
...全文
316 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fankun 2003-09-10
  • 打赏
  • 举报
回复
这个在有些系统里面行不通呀,你要用根用户登陆才可以的。
Lionking1027 2003-09-10
  • 打赏
  • 举报
回复
楼上的都说了,我就不多嘴了,分点分吧
rainstormmaster 2003-09-10
  • 打赏
  • 举报
回复
复制和移动文件夹
是不是很怀念强大的DOS命令?其实所有的DOS外部命令所能实现的功能,您都能在VB中通过Shell函数来实现。比如您要把一个子目录的包含下一级目录的所有文件复制到另一个位置,可使用下面的代码:
If Dir$("c:\mydos", vbDirectory) = "" Then MkDir "c:\mydos" '在硬盘上新建一个c:\mydos的文件夹。
Shell "xcopy.exe c:\windows\command\*.* c:\mydos/s/e", vbHide
Shell "explorer.exe " & "c:\mydos", vbNormalFocus
同样我们也以用shell 来调用move.exe来实现来实现文件或文件夹的移动。
说明:此方法仅限于外部DOS命令,并需要把参数中的长文件名转换为8.3制文件名,转换似乎可以用API函数实现,我们自己编写了不调用API函数实现这一功能的函数,您如果需要请到http://go.163.com/
~nwdonkey/vb/ 去下载。
Contributor: NorthWest Donkey
rainstormmaster 2003-09-09
  • 打赏
  • 举报
回复
呵呵,楼上的说的很详细了,另一种写法,实质和楼上一样:
Option Explicit
'注意引用Microsoft Scripting Runtime对象
Private Sub Command1_Click()
Dim FSO As New FileSystemObject
FSO.CopyFolder "d:\ms", "d:\ms1"'把d:\ms目录下的所有文件和文件夹复制到d:\ms1,只要d:\ms目录存在即可
Set FSO = Nothing'释放FSO占用的资源
End Sub
abc10 2003-09-09
  • 打赏
  • 举报
回复
在FSO 对象模型中,提供了丰富的有关文件夹操作的方法,这些方法分别是:
FileSystemObject对象有关文件夹的方法:
CreateFolder :创建一个文件夹 。
DeleteFolder:删除一个文件夹 。
MoveFolder :移动一个文件夹 。
CopyFolder:复制一个文件夹 。
FolderExists: 查找一个文件夹是否在驱动器上 。
GetFolder :获得已有Folder对象的一个实例 。
GetParentFolderName: 找出一个文件夹的父文件夹的名称。
GetSpecialFolder: 找出系统文件夹的路径。
Folder对象的方法:
Delete :创建一个文件夹 。
Move :移动一个文件夹 。
Copy:复制一个文件夹。
Name:检索文件夹的名称。
abc10 2003-09-09
  • 打赏
  • 举报
回复
例如,要把c:\aa目录下的所有文件和文件夹复制到c:\temp\
(要保证aa\下有文件夹)
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFolder "c:\aa\*", "c:\temp\"
abc10 2003-09-09
  • 打赏
  • 举报
回复
用CopyFolder 方法
描述

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

语法

object.CopyFolder source, destination[, overwrite]

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\"

klbt 2003-09-09
  • 打赏
  • 举报
回复
关注。

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧