Ordner kopieren...

webmaster76

Mitglied
Hi @all,

habe mir ein kleines VB-Skript gebastelt, mit dem ich Dateien sichern kann. Auf der GUI gibt man einen Ordner an, den man speichern möchte. Dieser Ordner (incl. aller Unterordner und Dateien) soll dann auf ein Netzlaufwerk kopiert und dann im Originalverzeichnis gelöscht werden.

Zum Kopieren des Ordners habe ich folgenden Code verwendet:

Shell ("cmd /C xcopy /E /I /Y """ & Quelle.Path & """ """ & Pfad & Datei.Text)

So weit so gut, funktioniert alles wunderbar. Problem: ich kann damit keine Fehlerbehandlung machen :-( z.B., wenn Ziellaufwerk voll ist!
Wie kann ich die Kopieraktion "direkt" über VB machen, sodass eine Fehlerbehandlung möglich ist?

Für Tipps bzw. ein oder zwei Zeilen Code wäre ich sehr dankbar
 
Hallo Webmaster,

schau dir die VB Function FileCopy an
oder nimmt das FilesystemObject, dazu muss Microsoft
Scripting Runtime als Verweis eingebunden sein.
Das FSO bieten alle Functionen um das was du mit xcopy
machst nachzubilden.

Jens
 
Leider hilft mir filecopy nicht weiter :-(

Mit filecopy Quelle, Ziel kann ich eine bestimmte Datei kopieren. Ist ja schön und gut, wenn ich aber ganze Ordner und die darin enthaltenen Unterordner und Dateien kopieren möchte (Anzahl und Namen variabel) bringt mir dieser Befehl gar nichts...
 
Du kannst doch mit dem Dir-Befehl alle Dateien und Ordner ermitteln. Dann kopierst du jede dieser Dateien einzeln. Anschließend rufst du die gleiche Prozedur für die Unterordner auf. Und die listet dann wieder alle Dateien und Ordner auf und ruft für die darin enthaltenen Ordner wieder die Prozedur auf und so weiter....

Oder du verwendest das FilesystemObject, wie es JensG vorgeschlagen hat:
Code:
Dim fso As Scripting.FileSystemObject
fso.CopyFolder "C:\Test1", "C:\Test2"
 
Kann mir wirklich niemand weiterhelfen?

Warum erkennt er das FileSystemObject als benutzerdefiniert? Muss man vielleicht noch so eine Art import machen?
 
Jetzt hast du hier eine Frage und macht parallel dazu noch einen extra Thread auf. Warum denn das?

Desweiteren sollte deine Geduld nicht nach einer Stunde bereits am Ende sein, manchmal musst du einen ganzen Tag oder eine Woche warten, bis sich jemand den Thread hier durchliest und gleichzeitig die Lösung weiß!
 
Zurück