vb复制文件夹所有文件
① VB.NET 复制文件夹,包括子文件夹 所有文件
用 io.Directory.Exists 判断文件夹是否存在。
再用 My.Computer.FileSystem.CopyDirectory() 复制。
② 在vb中怎么实现整个目录的复制
文件的复制、删除、修改操作没有针对整个目录的,所以要实现,必须一个文件一个文件的来。如果要简单一些,可以直接调用CMD命令,例如删除目录用rd /s/q 盘符:\某个文件夹 ,这样整个文件夹所有的文件和文件夹都删除了,VB中就用:
Shell "cmd /c rd /s/q d:\123"
删除d:\123下的所有文件和文件夹。
③ 用VB写一个复制文件夹及下面所有文件(包括空的目录)的工具,求打下指点!
没明白你的“text1.text”是一个文件夹名还 是一个控件名
从你的写法来看应该是一个文件夹名
但是从你的要求来看应该是一个控件名,可是这里不能用TEXT啊,
你看看好像是叫DRIVER的一个控件吧,忘了叫什么名字了,在工具栏里有一个像驱动器一样的图标的控件,另外提醒,选择好文件或是文件夹后要判断路径是否正确,驱动器盘符后面只能跟冒号,不能跟斜杠(当要复制整个驱动器的文件时)
还有,SHELL的串连接可以用+或是&
例 如:"cmd /c x " & a.path & "d:\bb"
a是控件名
④ vb复制文件夹有几种方法
首先你说的这几种方法都可以有相应的实现方法,下面一一列举:1.vb函数实现复制文件夹。首先要指出,vb有6个基本的关于文件或文件夹操作的函数:(1)建立文件夹的函数MkDir;(2)改变当前文件夹ChDir;(3)删除文件夹RmDir;(4)删除文件kill;(5)复制文件FileCopy;(6)文件的改名和移动。但却没有直接的文件夹整体复制的基本函数。但用以上这些基本的函数却可以实现文件夹的任何操作:下面以例子来说明:在D盘根目录下有一个a文件夹,里边有很多文件,现在把它复制到"D:\aa"中去,aa是D盘中的一个文件夹.实现过程这样,(1)先在D:\aa中创建一个文件夹名为a,用函数MkDir;(2)然后把依次把D:\a中的文件复制到D:\aa\a中去。程序实现如下:Private Sub Command1_Click()
Dim fname As String
fname = Dir("d:\a\*.*", 7)
MkDir "d:\aa\a"
Do
If fname = "" Then Exit Do
FileCopy "d:\a\" & fname, "d:\aa\a\" & fname
fname = Dir()
Loop
End Sub2.复制文件夹的API函数:SHFileOperation。他可以很方便的实现文件夹的复制,但要配合一个文件类来实现,还是以例子来说明吧:在D盘根目录下有一个a文件夹,里边有很多文件,现在把它复制到"D:\bb"中去,程序实现如下:Private Type SHFILEOPSTRUCT '文件类的定义,固定模式,直接拿来使用,不用管具体构成
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用
End Type
Private Declare Function SHFileOperation Lib _
"shell32.dll" Alias "SHFileOperationA" (lpFileOp _
As SHFILEOPSTRUCT) As Long 'api函数SHFileOperation 的声明
'wFunc 常数
'FO_COPY 把 pFrom 文件拷贝到 pTo。
Const FO_COPY = &H2'fFlag 常数
'FOF_ALLOWUNDO 允许 Undo 。
Const FOF_ALLOWUNDO = &H40
'FOF_NOCONFIRMATION 不显示系统确认对话框。
Const FOF_NOCONFIRMATION = &H10
'FOF_NOCONFIRMMKDIR 不提示是否新建目录。
Const FOF_NOCONFIRMMKDIR = &H200
'FOF_SILENT 不显示进度对话框
Const FOF_SILENT = &H4'以上皆为SHFileOperation 需要的变量的声明,固定声明格式直接拿来使用
Private Sub Command2_Click()
Dim SHFileOp As SHFILEOPSTRUCT
SHFileOp.wFunc = FO_COPY
SHFileOp.pFrom = "d:\a"
SHFileOp.pTo = "d:\bb"
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
Call SHFileOperation(SHFileOp)
End Sub3.FSO方法实现文件夹的复制,它的使用与FileCopy类似,但还不一样,它只能把一个文件夹里边的文件完全复制到目标文件夹中,但是不能连同此文件夹一块复制进去,因此用FSO实现复制也需要两步,(1)先在目标文件夹中创建一个与复制的文件夹同名的文件夹,然后把文件复制进去。现用例子来说明:在D盘根目录下有一个a文件夹,里边有很多文件,现在把它复制到"D:\cc"中去,程序实现如下:"工程"--"引用"--"Microsoft Scripting Runtime"Private Sub Command3_Click()
Dim fso As New FileSystemObject
Dim fldr As Folder
MkDir "D:/cc/a"
fso.CopyFolder "D:/a", "D:/cc/a", True
End Sub好了三种实现方法都能做到复制文件夹,另外再给你提供一种方法,就是用dos命令,利用vb里边的函数shell来调用cmd.exe执行dos命令,有时候shell也是很不错的选择。具体例子如下:Private Sub Command4_Click()Shell "cmd.exe /c x " + Chr(34) + "D:\dd D:\a /q /e" + Chr(34)
end sub好了,关于文件夹复制的方法你可以根据自己的习惯选择一种来实现你的程序。
⑤ VB.NET2010 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件
这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
⑥ 请问VB中什么函数可以复制文件夹中的所有文件,包括子文件夹-编程
用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帮助
⑦ vb中复制文件
用API函数 SHFileOperation的方法。
⑧ vb中如何将一个文件的所有东西复制到另一个文件夹
调用外部的dos
的命令,可以实现的要求...
shell
"cmd
/c
c:\1.doc
d:\001\"
用vb的文件复制,需要指定目标文件的姓名.
不过这样不符合你的要求.
Dim
result,
Sourcefile,
Destinationfile
As
String
result
=
MsgBox(
"确定要复制吗?
",
vbYesNo,
"询问
")
If
result
=
vbYes
Then
Sourcefile
=
"c:\1.doc"
Destinationfile
=
"d:\001\1.doc"
FileCopy
Sourcefile,
Destinationfile
End
If