Erstmal meine Auflistungsfunktion von Dateien/Ordnern: (funktioniert wunderbar)
Delphi-Quellcode:
procedure GetFilesInDirectory(Directory: string; const Mask: string; List: TStrings; WithSubDirs, ClearList: Boolean; var ATotalSize: Int64);
procedure ScanDir(const Directory: string);
var SR: TSearchRec;
begin
if FindFirst(Directory + Mask, faAnyFile and not faDirectory, SR) = 0 then
try
repeat
List.Add(Directory + SR.Name)
until
FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if WithSubDirs then
begin
if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then
try
repeat
if ((SR.attr and faDirectory) = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') then
ScanDir(Directory + SR.Name + '\');
Inc(ATotalSize, SR.Size);
until
FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end;
begin
List.BeginUpdate;
try
if ClearList then
List.Clear;
if Directory = '' then
Exit;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
ScanDir(Directory);
finally
List.EndUpdate;
end;
end;
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?