Belirli aralıklar ile sunucuda bulunan yedekleri başka bir ortama aktaran bir program yazdım.
dosya sayısı 15-20 arası değişiyor ve toplam boyut 1 TB buluyor.
Kopyalama için kullandığım kod
Kod: Tümünü seç
FileMode := 0;
ProgressBar1.Max := FileListBox1.Count;
if FindFirst(dir + '\*.*', faAnyFile, F) = 0 then
repeat
try
CopyFile(PChar(dir + '\' + F.Name), PChar(DirectoryListBox2.Directory + '\' + F.Name), True);
Memo1.Lines.Add(F.Name + '-' + IntToStr(F.Size) + '-' + DateTimeToStr(F.TimeStamp));
WriteToLog(F.Name + '-' + IntToStr(F.Size) + '-' + DateTimeToStr(F.TimeStamp));
Memo1.Lines.Add(YedekDetayKaydet(DateToStr(DateTimePicker1.Date), F.Name, RadioGroup1.Items[RadioGroup1.ItemIndex], DateTimeToStr(F.TimeStamp), IntToStr(F.Size)));
ProgressBar1.StepBy(1);
except
on e: exception do
end;
Ancak kopyalama işlemi bitene kadar program cevap vermiyor. Bunu engellemenin bir yolu varmıdır.
Bana bu konuda bir yardımı edebilirseniz sevinirim.