HI!
Also der Code ist von mir in VB6 geschrieben worden. Sollte aber in VB5 genauso funktionieren.
Wenn du ein Backup Programm schreiben willst, musst du meinen Beispielcode nur ein bisschen abwandeln.
in .pFrom = schreibst du zb einfach "C:\Eigene Dateien" und in .pTo den Zielordner. Dann setzt du noch .wFunc = FOF_SILENT und .wFunc = FOF_NOCONFIRMATION damit alles automatisch im hintergrund abläuft. Ohne das irgendwelche Message oder Dialogboxen kommen.
Solltest du das kopieren lieber selbst File für File machen wollen dann nimm aber bite nicht die dir/fileinfo boxen. Das sind User Interfaces und sollten nicht für eine Automatische verarbeitung herhalten müssen.
Ich würde dir eher den Befehl Dir ans Herz legen. Der liefert die ein directory listing und zwar immer einen Eintrag pro Aufruf.
Eine Kopier routine könnte so aussehen:
Code:
Private Function xcopy()
Dim sDirEintrag As String
sDirEintrag = Dir("C:\Eigene Dateien\")
While Not sDirEintrag = ""
FileCopy "C:\Eigene Dateien\" & sDirEintrag, "D:\BackupDir\" & sDirEintrag
sDirEintrag = Dir()
Wend
End Function
Das Beispiel ist natürlich sehr einfach und wenn du rekursiv alle Unterverzeichnisse durchgehen willst musst du noch einiges mehr machen.
Eine andere einfache Möglichkeit währe den Dosbefehl xcopy in einer (versteckten) Dosshell zu benutzen!
Code:
Private Function xcopy()
Dim sXcopyShell As String
sXcopyShell = "xcopy " & Chr(34) & "C:\Eigene Dateien\*.*" & Chr(34) & " /E /I /H /Y d:\Backup\"
Shell sXcopyShell, vbHide
End Function
Mit Büchern kann ich leider nicht dienen, aber wenn englisch kein problem für dich ist hätte ich ein paar Seiten mit vielen guten Paraxis Beispielen.
http://www.vbworld.com/
http://www.programmersheaven.com/
http://www.vbcode.com/
http://www.freevbcode.com/
Ich hoffe das hilft dir etwas weiter.
lg