當前位置:首頁 » 文件管理 » vb系統文件夾

vb系統文件夾

發布時間: 2024-04-19 07:29:58

㈠ 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好了,關於文件夾復制的方法你可以根據自己的習慣選擇一種來實現你的程序。

熱點內容
md5加密ppt 發布:2024-05-01 21:51:46 瀏覽:352
dnf雲伺服器50g 發布:2024-05-01 21:44:56 瀏覽:448
壓縮性粉碎性骨折 發布:2024-05-01 21:23:46 瀏覽:613
iphone4s怎麼密碼 發布:2024-05-01 21:23:38 瀏覽:307
csgo如何換國服伺服器 發布:2024-05-01 21:03:47 瀏覽:784
qq改寫密碼是多少位數字 發布:2024-05-01 21:02:01 瀏覽:462
你你連接的密碼是多少 發布:2024-05-01 20:59:13 瀏覽:478
安卓應用哪個軟體最多 發布:2024-05-01 20:54:05 瀏覽:22
微信牆完美版php源碼 發布:2024-05-01 20:17:36 瀏覽:485
優酷上傳視頻軟體 發布:2024-05-01 20:17:32 瀏覽:272