这是一个文件夹备份的程序,请大家帮我再添上filelistbox 的代码以实现文件的备份,并帮我解释一下这段代码谢谢.
Dim fs As New FileSystemObject
Set fs = CreateObject("scripting.filesystemobject")
Dim origin_file As File, target_file As File, origin_fd As Folder, target_fd As Folder
Dim subfd As Folder, f As File, target_fileName As String
Set origin_fd = fs.GetFolder(origin_dir)
If Len(target_dir) = 3 Then
target_dir = Mid(target_dir, 1, 2)
End If
target_dir = target_dir & Mid(origin_dir, InStrRev(origin_dir, "\"))
If Not fs.FolderExists(target_dir) Then
fs.CreateFolder (target_dir)
End If
Set target_fd = fs.GetFolder(target_dir)
For Each origin_file In origin_fd.Files
target_fileName = target_dir & "\" & origin_file.Name
If Not fs.FileExists(target_fileName) Then
fs.CopyFile origin_file.Path, target_fileName
End If
Set target_file = fs.GetFile(target_fileName)
If target_file.DateLastModified <> origin_file.DateLastModified Then
fs.CopyFile origin_file.Path, target_fileName
End If
Next
For Each subfd In origin_fd.SubFolders
origin_dir = subfd.Path
Call overfolder(origin_dir, target_dir) '调用递归过程
Next: End Sub
Dim fs As New FileSystemObject
Set fs = CreateObject("scripting.filesystemobject")
Dim origin_file As File, target_file As File, origin_fd As Folder, target_fd As Folder
Dim subfd As Folder, f As File, target_fileName As String
Set origin_fd = fs.GetFolder(origin_dir)
If Len(target_dir) = 3 Then
target_dir = Mid(target_dir, 1, 2)
End If
target_dir = target_dir & Mid(origin_dir, InStrRev(origin_dir, "\"))
If Not fs.FolderExists(target_dir) Then
fs.CreateFolder (target_dir)
End If
Set target_fd = fs.GetFolder(target_dir)
For Each origin_file In origin_fd.Files
target_fileName = target_dir & "\" & origin_file.Name
If Not fs.FileExists(target_fileName) Then
fs.CopyFile origin_file.Path, target_fileName
End If
Set target_file = fs.GetFile(target_fileName)
If target_file.DateLastModified <> origin_file.DateLastModified Then
fs.CopyFile origin_file.Path, target_fileName
End If
Next
For Each subfd In origin_fd.SubFolders
origin_dir = subfd.Path
Call overfolder(origin_dir, target_dir) '调用递归过程
Next: End Sub
Private Sub Command1_Click()
Call Shell("cmd /c xcopy " & "c:\dll\*.*/s " & "c:\dllbackup\")
MsgBox "备份完成!"
End Sub
'********************************* 第二种写法
Private Sub Command1_Click()
Call BackUpFolder("c:\dll", "c:\dllbackup")
End SubPublic Sub BackUpFolder(origin_fd$, target_fd$)
Call Shell("cmd /c xcopy " & origin_fd & "\*.*/s " & target_fd & "\")
MsgBox "备份完成!"
End Sub
Private Sub Command1_Click()
Call Shell("cmd /c xcopy " & "c:\dll\*.*/s/h/y " & "c:\dllbackup\", vbHide)
MsgBox "备份完成!"
End Sub
'********************************* 第二种写法
Private Sub Command1_Click()
Call BackUpFolder("c:\dll", "c:\dllbackup")
End SubPublic Sub BackUpFolder(origin_fd$, target_fd$)
Call Shell("cmd /c xcopy " & origin_fd & "\*.*/s/h/y " & target_fd & "\", vbHide)
MsgBox "备份完成!"
End Sub