㈠ VB.NET2010 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件
这段代码的问题是:首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;然后file.的变量file没有任何声明,也没有初始化赋值等;最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
㈡ 在VB中如何复制文件
1.VB自己的命令 file text1.text,text2.text 2.VBS的命令 Set fso = CreateObject("Scripting.FileSystemObject") fso. text1.text,text2.text 全部删除复制 移动的如下: dim a,b,c On Error Resume Next c=inputbox("请输入操作代码:1.删除;2.复制,3.移动","6921833","D:") a=inputbox("请输入源文件的目录","6921833","D:") if c<>1 then b=inputbox("请输目标文件夹","6921833","D:") else b=0 end if Tree(a,b,c) Set WshSHell = WScript.CreateObject("WScript.Shell") msgbox"OK" Function Tree(sPath,spath2,whatdo) On Error Resume Next Dim WshSHell,oFso Set oFso = CreateObject("Scripting.FileSystemObject") Set oFolder = oFso.GetFolder(sPath) Set oSubFolders = oFolder.Subfolders Set oFiles = oFolder.Files For Each oFile In oFiles '文件 if whatdo=1 then oFile.delete elseif whatdo=2 then oFile.Copy (spath2) elseif whatdo=3 oFile.Movw (spath2) end if Next For Each oSubFolder In oSubFolders TreeIt(oSubFolder.Path)'递归 Next Set objFolder=oFso.Getfolder(a) Set subFolders=objFolder.subFolders For Each subFolder In subFolders On Error Resume Next if whatdo=1 then subfolder.Delete(True) If Err Then err.Clear Else End If Next Set oFolder = Nothing Set oSubFolders = Nothing Set oFso = Nothing End Function
㈢ VB 复制文件夹函数
用 方法可以复制文件夹。语法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中如何将一个文件的所有东西复制到另一个文件夹
调用外部的dos的命令,可以实现的要求…shell"cmd/cc:\1.docd:\001\"用vb的文件复制,需要指定目标文件的姓名.不过这样不符合你的要求.Dimresult,Sourcefile,DestinationfileAsStringresult=MsgBox("确定要复制吗?",vbYesNo,"询问")Ifresult=vbYesThenSourcefile="c:\1.doc"Destinationfile="d:\001\1.doc"FileCopySourcefile,DestinationfileEndIf
㈤ vb 复制文件及文件夹
这么简单的东西,你就不用花冤枉钱了,我免费给你:
PrivateSubForm_Load()Me.OLEDropMode=1EndSubPrivateSubForm_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Dimff,fsoAsObject,fnAsInteger,dnAsIntegerSetfso=CreateObject("scripting.filesystemobject")ForEachffInData.FilesIffso.fileexists(ff)Thenfso.fileff,"d: mp"&fso.getfilename(ff)&"."&Format(Now,"yyyymmddhhnnss"),Truefn=fn+1Elsefso.folderff,"d: mp"&fso.getfilename(ff)&"."&Format(Now,"yyyymmddhhnnss"),Truedn=dn+1EndIfNextSetfso=NothingMsgBox"共复制"&fn&"个文件,"&dn&"个文件夹"EndSub
以上代码没有用到任何控件,也不需进行任何设置,直接把代码复制到窗体的代码区,编译为EXE文件即可。运行后把文件或文件夹拖到窗体中即可,可以多个文件同时拖,也可以文件和文件夹混合拖。
文件的保存位置是d: mp,你可以自己改。
时间后缀我是直接加在文件或文件夹的后面的,如果不符要求你可以自己改,让我改也行。
另外这是VB6的代码,如果你要的不是这个版本的,那就对不起了。
㈥ VB怎么用file复制文件夹
VB复制文件夹使用源CopyFolder方法实现。
CopyFolder 方法
描述
从一个地方递归地复制一个文件夹到另一个地方。
语法
object.CopyFolder source, destination[, overwrite]
PrivateSubCommand1_Click()CreateObject("scripting.filesystemobject").folder"c:ProgramFiles","D:ProgramFiles"EndSub
㈦ VB怎样将文件夹复制到指定位置,注意是文件夹。
VB复制文件夹使用CopyFolder方法实现。CopyFolder 方法描述 从一个地方递归地复制一个文件夹到另一个地方。语法 object.CopyFolder source, destination[, overwrite]实现代码中的source路径不能有错,否则VB报错。 将C盘下的Program Flles目录夹复制到D盘Program Flles目录夹的实际代码如下:Private Sub Command1_Click() CreateObject("scripting.filesystemobject").folder "c:\Program Files", "D:\Program Files"End Sub
㈧ VB 如何复制文件夹
我又修改了下代码,添加个按钮,粘贴代码后就可用了。====================不用FSO的复制文件夹得方法用API函数 SHFileOperation以下是使用SHFileOperation删除复制移动文件的例子,可以复制文件夹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 TypePrivate Declare Function SHFileOperation Lib _"shell32.dll" Alias "SHFileOperationA" (lpFileOp _As SHFILEOPSTRUCT) As Long'wFunc 常数'FO_COPY 把 pFrom 文件拷贝到 pTo。Const FO_COPY = &H2'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。Const FO_DELETE = &H3'FO_MOVE 把 pFrom 文件移动到 pTo。Const FO_MOVE = &H1'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 = &H4Private Sub Command1_Click() '例子: Dim SHFileOp As SHFILEOPSTRUCT ' 拷贝 SHFileOp.wFunc = FO_COPY SHFileOp.pFrom = "d:\MASM611" SHFileOp.pTo = "c:\MASM611" SHFileOp.fFlags = FOF_NOCONFIRMMKDIR Call SHFileOperation(SHFileOp)End Sub或者用命令行shell "cmd.exe /c x "+chr(34)+"C:\新建文件夹 c:\aa /q /e" +chr(34)
㈨ 用VB如果拷贝文件夹
'引用fso对象dimfsoasnewfilesystemobjectdimfolder1asfoldersetfolder1=fso.getfolder("d:\1")'文件夹路径名字folder1."e:\"'拷贝到e盘,若e盘有同名文件夹,则覆盖!或'引用fso对象dimfsoasnewfilesystemobjectfso.folder"d:\1","e:\",true'效果和上面相同!
㈩ vb中复制文件
用API函数 SHFileOperation的方法。