| Autor |
Beitrag |
subotai
Hält's aus hier
Beiträge: 3
|
Verfasst: So 17.04.05 09:37
Hallo!
Ich möchte den kompletten Inhalt eines Verzeichnisses auf einer externen Festplatte speichern. Ich benutzte dazu copyfile. Das klappt soweit ganz gut. Probleme gibts nur, wenn die Zieldatei bereits existiert und z.B. schreibgeschützt ist. In diesem Fall setzte ich das Dateiattribut der Zieldatei auf faArchive (mit FileSetAttr).
Das Problem ist, dass ich etwa 18000 Dateien kopieren muss. Zum Ausprobieren benutzte ich natürlich kleine Verzeichnisse, wichtig ist aber, dass es mit diesem Verzeichnis klappt.
Dementsprechend lange geht der Vorgang. Eine Überprüfung der kopierten Dateien (Binärvergleich dauert nochmal 2 Stunden).
Ausprobieren gestaltet sich also als recht schwierig.
Aber lange Rede kurzer Sinn. Ist diese Methode gut, ist sie sicher, gibt es noch Alternativen, kann man das Überschreiben bereits existierender Dateien auf eine andere Art erzwingen?
Viele Grüße
subotai
|
|
fvolk
      
Beiträge: 203
Win XP (Home & Pro)
Delphi 2005 Pers
|
Verfasst: So 17.04.05 09:40
Versuch's mal mit SHFILEOPERATION (siehe dazu auch www.delphipraxis.net...shfileoperation.html). Soweit ich weiß, stehen da die nötigen Flags zur Verfügung.
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
(René Descartes)
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 17.04.05 12:28
subotai hat folgendes geschrieben: | | Ich möchte den kompletten Inhalt eines Verzeichnisses auf einer externen Festplatte speichern. |
Vielleicht eine etwas blöde Frage, aber: Muss die Lösung denn in Delphi sein? Ist es eine einmalige Aktion, die du durchführen willst?
|
|
fvolk
      
Beiträge: 203
Win XP (Home & Pro)
Delphi 2005 Pers
|
Verfasst: So 17.04.05 13:47
In dem Fall, den Delfiphan anspricht, würde ich dir zu einem simplen xcopy raten.
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
(René Descartes)
|
|
subotai 
Hält's aus hier
Beiträge: 3
|
Verfasst: Mo 18.04.05 17:26
Hallo!
Nein, es es keine einmalige Aktion. Dass es mit xcopy funktioniert, weiss ich auch, allerdings würde ich das ganze doch gerne in Delphi machen, da es einfach komfortabler ist.
Ich habs leider noch nicht geschafft, etwas auszuprobieren, aber wenn Windows das kann, dann sollte das Delphi doch auch können? Ganz so viel Arbeit ist es in Delphi schließlich auch nicht.
Danke für Eure Antworten!
Gruß
subotai
|
|
Constan
      
Beiträge: 80
Win XP, Suse 10.1
Delphi 7
|
Verfasst: Mo 18.04.05 17:35
mit dem Prog dateien laden aus einem Verzeicchnis mit Loadfromfile und speichern mit savetofile. denke ich aber viel ahnung habe ich von delphi auch noch net.
|
|
fvolk
      
Beiträge: 203
Win XP (Home & Pro)
Delphi 2005 Pers
|
Verfasst: Mo 18.04.05 17:46
SHFILEOPERATION ist genau das, was der Windows-Explorer macht. Somit sicherlich die optimale (und sehr mächtige) Lösung - außerdem gibt's da massig Beispiele im Netz zu. 
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
(René Descartes)
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mo 18.04.05 17:49
warum versuchst dus nicht einfach mit shellexecute und xcopy? du kannst ja gegebenenfalls den consolenoutput ins nichts oder in ein TMemo oder sowas leiten (siehe dazu Diesen Thread, dort findest du die Funktion GetConsoleOutput...
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
subotai 
Hält's aus hier
Beiträge: 3
|
Verfasst: Mo 25.04.05 23:30
Hallo!
Wow, schon wieder sieben Tage vergangen. Ich möchte mich trotzdem nocheinmal bei Euch bedanken, vorallem für die Links. Ich habe mich für SHFileOperation entschieden, und bin zufrieden damit.
|
|