Nella mia domanda ho bisogno di copiare più di 1000 file di piccole dimensioniCopia di un sacco di file in Delphi
Ecco il codice che sto usando, ma è molto lento c'è un modo migliore di fare questo?
procedure Tdatafeeds.RestotreTodaysFiles;
var
SearchRec: TSearchRec;
FromFn, ToFn: string;
Begin
if DirectoryExists(BackupPath1) then
begin
try
if FindFirst(BackupPath1 + '\*.*', (faAnyFile AND NOT(faDirectory)), SearchRec) = 0 then
begin
repeat
FromFn := BackupPath1 + '\' + SearchRec.name;
ToFn := DatafeedsPath1 + '\' + SearchRec.name;
CopyFile(Pchar(FromFn), Pchar(ToFn), false);
until FindNext(SearchRec) <> 0;
end;
finally
FindClose(SearchRec);
end;
end;
End;
La copia di molti file di piccole dimensioni può causare problemi di I/O, in particolare con dischi più lenti. Le testine del disco devono muoversi molto per cercare i file e trovare spazio libero per copiarli. Se copi questi file dalla riga di comando, il sistema è molto più veloce? –