導航:首頁 > 文件教程 > vb文件夾復制

vb文件夾復制

發布時間:2023-05-03 20:44:43

❶ vb拷貝文件夾命令

'------------------------------------
'定義win文件夾操作的函數(復制和刪除,其它的(移動、改名)沒用到)
'刪除文件夾的函數:KillPath(path)
'復制文件夾的函數:CopyPath(mpath,tPath)
'------------------------------------
Private Const FO_MOVE = &H1
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
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 'only used if FOF_SIMPLEPROGRESS
End Type

'刪除文件夾的函數:KillPath(path)
Public Function KillPath(ByVal sPath As String) As Boolean
On Error Resume Next
Dim udtPath As SHFILEOPSTRUCT
udtPath.hwnd = 0
udtPath.wFunc = FO_DELETE
udtPath.pFrom = sPath
udtPath.pTo = ""
udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
KillPath = Not CBool(SHFileOperation(udtPath))
End Function

'復制文件夾的函數:CopyPath(mpath,tPath)
Public Function CopyPath(ByVal mPath As String, ByVal tPath As String) As Boolean
On Error Resume Next
Dim shfileop As SHFILEOPSTRUCT
shfileop.hwnd = 0
shfileop.wFunc = FO_COPY
shfileop.pFrom = mPath
shfileop.pTo = tPath
shfileop.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
CopyPath = Not CBool(SHFileOperation(shfileop))
End Function
'------------------------
'------------------------

❷ vb中復制文件

用API函數 SHFileOperation的方法。

❸ 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怎樣將文件夾復制到指定位置,注意是文件夾。

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中如何復制文件

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復制文件夾有幾種方法

首先你說的這幾種方法都可以有相應的實現方法,下面一一列舉: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 復制文件及文件夾

這么簡單的東西,你就不用花冤枉錢了,我免費給你:

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的代碼,如果你要的不是這個版本的,那就對不起了。

❽ 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
希望對你有所幫助·····

❾ VB 如何將文件夾/文件復制或者剪切入剪切板,如果從剪貼板粘貼到指定地方

將滑鼠放到文件夾上,右擊滑鼠,點「復制」或「剪切」,將滑鼠移動到你想要將文件放到的地方,再點滑鼠右鍵,點「粘貼」即可。
也可用命令:滑鼠選中某文答喚枝件,點CTRL+C復制清敏文件,再移到指定地方,再點CTRL+V,粘鏈閉貼。
希望可以幫到你。

閱讀全文

與vb文件夾復制相關的資料

熱點內容
蘋果手機小風扇圖app叫什麼 瀏覽:292
繁體中文輸入工具 瀏覽:916
pc桌面壁紙文件夾 瀏覽:473
微信怎麼添加群 瀏覽:781
40歲男人適合的微信名 瀏覽:925
編程里比例怎麼打 瀏覽:215
蘋果12兩個app如何分屏 瀏覽:592
ps下載完不是壓縮文件 瀏覽:362
電腦中的個人文件包括什麼 瀏覽:572
網路連接一般什麼密碼 瀏覽:199
java定時器quartz實例 瀏覽:259
稻殼excel文件太大怎麼弄 瀏覽:901
文件里的視頻如何保存到相冊 瀏覽:428
手機百度雲文件電腦 瀏覽:957
編程怎麼做到時鍾精準 瀏覽:912
錘子用過的壁紙在哪個文件里 瀏覽:468
qq網站安全性未知訪問不了怎麼辦 瀏覽:270
燕秀怎麼修改編程人名字 瀏覽:789
2012年天之眼導航升級 瀏覽:595
如何安裝視頻文件 瀏覽:315

友情鏈接