Hallo,
ich versuche zwei Dateien zu vergleichen (Zeitstempel) und dann entweder von USB-Stick auf Festplatte oder von Festplatte auf USB zu kopieren.
Ist die Datei nur auf einem Medium vorhanden funktioniert das Kopieren in beide Richtungen.
Ist auf beiden Medien (Festplatte und USB) die Datei vorhanden funktioniert das Überschreiben nur von USB auf Festplatte. Beim Überschreiben von Festplatte auf USB gibt es einen Zeitversatz bei den Zeitstempeln von 2 Sekunden, d.h. nach dem Überschreiben ist die Datei auf dem USB-Stick neuer als auf der Festplatte.
Ich könnte natürlich jetzt erst die Datei löschen und dann neu Schreiben, mich würde aber interessieren, ob es anstatt FileAge oder CopyFile bessere Befehle gibt, damit die Dateien nach einem Kopiervorgang wirklich gleich sind
.
Hier der Codeteil, den ich dafür benutze:
Delphi-Quellcode:
FileAge(Datei1,Datum1,true);
FileAge(Datei1USB,Datum2,true);
if Datum1>Datum2 then
copyfile(PChar(Datei1),PChar(Datei1USB),false);
if Datum1<Datum2 then
copyfile(PChar(Datei1USB),PChar(Datei1),false);
Danke und Gruß
Hanns-Dieter