![]() |
Ordnerinhalte kopieren in VB5
Hallo VB-Spazialisten,
wer kann mir helfen? ich möchte gerne mittels VB-Programm ganze ordner(inhalte) zum zwecke der datensicherung kopieren. ich kann zwar files (filecopy) aber keine ordner kopieren. kann mir jemand die syntax verraten? |
ganze ordner auf einmal geht nicht.
ausser du nimmst dir ein dirinfo und ein fileinfo element und gehst diese rekursiv durch. dann musst aber auch entsprechend verzeichnisse auf dem backup medium anlegen (error-trapping nicht vergessen a la 'on error resume next') weil sonst bekommst immer a fehlermeldung wenn a verzeichnis oder datei schon existiert. praktischerweise gehst die beiden boxen ned nur rekursiv sondern auch in einer schleife durch womit du dann automatisch ein backup eines ordners und seiner unterordner anlegen kannst. :cool: |
Zitat:
|
Halt!! :)
Ich hoffe du hast dir noch nicht die Arbeit angetan und hast dir eine eigene Routine zum kopieren geschrieben! Es gibt zwar keine Funktion in VB mit der man Ordner Kopieren kann aber einen API Call. Der ist recht simpel zu benutzen : Code:
Option Explicit Für wFunc gibt es noch einige andere nützliche Optienen die ich die im Beispielprog auch mit einer (englischen) Bemerkung dazugeschrieben habe. |
hallo sonic,
zuerst einmal danke für die infos. in welcher VB vers. ist der code? lieber würde ich mir ein sicherungsprogramm selber schreiben. aber mein problem ist folgendes´, ich hab zwar 2 VB5 bücher, aber immer das was ich suche ist nicht drin. z. b. wie ich in DIRINFO bzw. FILEINFO weiterdrehen kann, die Einträge abarbeiten kann, also file für file kopieren. aber vielleicht kann ich mir deinen code indivuduell gestalten, denn ich würde gerne abhängig vom wochentag in einen entsprch. ordner sichern, aber automatisch, das heißt ich starte mein sicherungsprogramm und alles läuft automat. ab. ich sichere eh immer die gleichen ordner(eigene dateien, outlook, favoriten, etc.) |
dir/fileinfo boxen..
eigenschaft listcount: Anzahl einträge eigenschaft List(): die einzelnen Einträge for x=0 to file1.listcount-1 debug.print file1.list(x) next dir1/list1.path = pfad list1.pattern (oder ähnlich) = "*.*" hoffe das hilft :) |
hallo Sesa_Mina,
das wird mir sicher weiterhelfen. Mir fehlt ein Buch mit vielen, praktikablen Beispielen. Kannst du mir was diesbezügliches empfehlen- Ich habe VB5 "Das Programmierbuch" Sybex-Verlag und VB5 "Das Kompendium" Narkt&Technik. Mit meinen PL1, Cobol u. Assembler-Kenntnissen vom Großrechner komme ich da nicht weiter, weil mir die Syntax von VB5 nicht geläufig ist. Aber wenn ich Beispiele hätte, das wär was anderes. Programmierst du professionel in VB? |
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() Eine andere einfache Möglichkeit währe den Dosbefehl xcopy in einer (versteckten) Dosshell zu benutzen! Code:
Private Function xcopy() http://www.vbworld.com/ http://www.programmersheaven.com/ http://www.vbcode.com/ http://www.freevbcode.com/ Ich hoffe das hilft dir etwas weiter. lg |
Visual Basic 6
Das Buch von Evangelos Petroutsos Sybex Verlag ISBN: 3-8155-7018-2 Preis: damals hats noch 657.- kostet. ATS :) sehr zu empfehlen :) |
vorerst vielen dank euch beiden,
werde mich in die materie vertiefen. |
kopiern einfach gemacht
Hi,
Kannst auch einfach ein "Scripting.FileSystemObject" erzeugen und mit dem dann alles mögliche machen (mehr dazu findest auf msdn.microsoft.com), is meiner Meinung nach leichter nachzuvollziehen, als sich gleich mit API-Calls herumzuschlagen... my-2-cents cheers Martok |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag