vb文件夹复制文件
A. VB怎样复制文件夹(包括里面的文件)
给你一个列子
sourcePath 为源文件地址
targetPath 存放文件的地址
'复制文件夹到指定位置
Function CopyDir(ByVal sourcePath As String, ByVal targetPath As String) As Boolean
Try
'检查目标目录是否以目录分隔符结束,不是则添加
If Microsoft.VisualBasic.Right(targetPath, 1) <> "" Then targetPath += System.IO.Path.DirectorySeparatorChar
'判断目标目录是否存在,不存在则新建
If Not Directory.Exists(targetPath) Then Directory.CreateDirectory(targetPath)
'得到源目录的文件列表,该文件裏面是包含文件以及目录路径的一个数组
Dim fileList As String() = Directory.GetFileSystemEntries(sourcePath)
'遍历所有的文件和目录
For Each filepath As String In fileList
'目录处理,递归
If (Directory.Exists(filepath)) Then
CopyDir(filepath, targetPath + Path.GetFileName(filepath))
Else
'复制文件
File.Copy(filepath, targetPath + Path.GetFileName(filepath), True)
End If
Next
Return True
Catch ex As Exception
Return False
End Try
End Function
希望对你有所帮助·····
B. VB.NET2010 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件
这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
C. vb 复制文件及文件夹
这么简单的东西,你就不用花冤枉钱了,我免费给你:
PrivateSubForm_Load()
Me.OLEDropMode=1
EndSub
PrivateSubForm_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Dimff,fsoAsObject,fnAsInteger,dnAsInteger
Setfso=CreateObject("scripting.filesystemobject")
ForEachffInData.Files
Iffso.fileexists(ff)Then
fso.fileff,"d: mp"&fso.getfilename(ff)&"."&Format(Now,"yyyymmddhhnnss"),True
fn=fn+1
Else
fso.folderff,"d: mp"&fso.getfilename(ff)&"."&Format(Now,"yyyymmddhhnnss"),True
dn=dn+1
EndIf
Next
Setfso=Nothing
MsgBox"共复制"&fn&"个文件,"&dn&"个文件夹"
EndSub
以上代码没有用到任何控件,也不需进行任何设置,直接把代码复制到窗体的代码区,编译为EXE文件即可。运行后把文件或文件夹拖到窗体中即可,可以多个文件同时拖,也可以文件和文件夹混合拖。
文件的保存位置是d: mp,你可以自己改。
时间后缀我是直接加在文件或文件夹的后面的,如果不符要求你可以自己改,让我改也行。
另外这是VB6的代码,如果你要的不是这个版本的,那就对不起了。
D. 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好了,关于文件夹复制的方法你可以根据自己的习惯选择一种来实现你的程序。
E. vb中复制文件
用API函数 SHFileOperation的方法。
F. VB怎么用file复制文件夹
VB复制文件夹使用CopyFolder方法实现。
CopyFolder 方法
描述
从一个地方递归地复制一个文件夹到另一个地方。
语法
object.CopyFolder source, destination[,
overwrite]
PrivateSubCommand1_Click()
CreateObject("scripting.filesystemobject").folder"c:ProgramFiles","D:ProgramFiles"
EndSub