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