Moin Doreen,
Zitat von
delphinia:
... Das Problem ist nun nur. Kopiere ich nun die Files aus der FileList
CopyFile(PChar(FileList[i]), PChar('F:\test\' + ExtractFileName(FileList[i])), true);
kopiert auch alle Dateien NUR leider alle in ein Verzeichnis statt so wie diese asu ihren eigenen Ordnern kommen diese auch da wieder hinzupacken... WO ist da der Fehler was fehlt mir? ...
das könnte helfen:
Delphi-Quellcode:
function RelativePath(const fn: TFileName): TFileName;
begin
Result := ExtractRelativePath(ExtractFileDrive(fn), ExtractFilePath(fn));
end;
begin
CopyFile(PChar(FileList[i]), PChar('F:\test\' + RelativePath(FileList[i])), True);
end;
Nachtrag: Es reicht beim Kopieren eigentlich der minimale relative Pfad. Dazu kannst du einfach ExtractRelativPath(Directory, FileList[i]) aufrufen, wobei Directory das gleiche Verzeichnis sein sollte, welches du an deine Prozedur GetFilesInDirectory() übergeben hast. Idealerweise erweiterst du deine Prozedur um einen Parameter, der die Rückgabe von absoluten oder relativen Dateinamen steuert.
Freundliche Grüße