Einzelnen Beitrag anzeigen

necromundo

Registriert seit: 31. Jan 2005
26 Beiträge
 
#1

Dateiattribute und -zeitstempel kopieren

  Alt 15. Apr 2009, 11:14
Hallo zusammen!

Ich bin grade dabei, eine Funktion zu schreiben, die die Attribute und Zeitstempel einer Datei auf eine andere zuvor kopierte Datei überträgt, so dass ich danach zwei identische Dateien habe, inklusiver aller Zeitstempel.
Allerdings gibt es Probleme damit, nach dem Kopieren ist nur das letzte Änderungsdatum und die Attribute gleich, der Rest funktioniert irgendwie nicht!
Hier ist der Code:

Delphi-Quellcode:
function TForm1.transferdateiinfos(source,destination: widestring): boolean;
var
  hFind_s, hFind_d: THandle;
  FindFileData_s, FindFileData_d: WIN32_FIND_DATAW;
begin
  result := false;
  if source[length(source)] = '\then setlength(source,length(source)-1);
  if destination[length(destination)] = '\then setlength(destination,length(destination)-1);
  hFind_s := FindFirstFileW(PWideChar(source),FindFileData_s);
  hFind_d := FindFirstFileW(PWideChar(destination),FindFileData_d);
  if (hFind_s <> INVALID_HANDLE_VALUE) and (hFind_d <> INVALID_HANDLE_VALUE) then begin
    try
      findfiledata_d.ftCreationTime := findfiledata_s.ftCreationTime;
      findfiledata_d.ftLastWriteTime := findfiledata_s.ftLastWriteTime;
      findfiledata_d.ftLastAccessTime := findfiledata_s.ftLastAccessTime;
      findfiledata_d.dwFileAttributes := findfiledata_s.dwFileAttributes;
    finally
     Windows.FindClose(hFind_s);
     Windows.FindClose(hFind_d);
    end;
  end;
end;
Hat jemand eine Idee? Oder schonmal eine ähnliche Funktion geschrieben?
Ganz wichtig ist, dass Widestring-Dateinamen benutzt werden können!

VG, Benny
  Mit Zitat antworten Zitat