Excluir arquivos

15/05/2003

0

Eu estou precisando saber com faço para excluir alguns arquivo, explicando melhor:
Faço backups automáticos e queria que só permanecessem um determinado nº de arquivos, por Ex.: o que fosse mais velho doque osa 5 últimos fossem apagados.

Desde já agradeço.


Simoes

Simoes

Responder

Posts

16/05/2003

Simoes

Já que ninguem respondeu, eu mesmo dou a resposta:

function TFPMonitor.CountFiles(Path, Mask: string): integer;
var
count: Integer;

procedure SearchForFiles(const path, mask: string);
var
SR: TSearchRec;
begin
if FindFirst(path + mask, faAnyFile, SR) = 0 then
try
repeat
inc(Count);
until FindNext(SR) <> 0
finally
FindClose(SR);
end;
end;

begin
count := 0;
if (Path <> \´\´) and (Path[length(path)] <> \´\\\´) then
Path := Path + \´\\\´;
SearchForFiles(path, mask);
result := count;
end;


function TFPMonitor.GetFileDate(Arquivo: String): string;
var
FHandle: integer;
begin
FHandle := FileOpen(Arquivo, 0);
try
Result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
finally
FileClose(FHandle);
end;
end;

procedure TFPMonitor.ApagaVelho(Dir: string);
var
SR: TSearchRec;
I: integer;
A: string;
begin
I := FindFirst(Dir + \´\\\´ + \´*.gbk\´, faAnyFile, SR);
while I = 0 do
begin
A := Dir + \´\\\´ + SR.Name;
if (CountFiles(Dir,\´*.gbk\´) > 4) or (StrToDateTime(GetFileDate(A)) < (now - FPConfig.Dias)) then
begin
if (SR.Attr and faDirectory) <> faDirectory then
if not DeleteFile(A) then
ShowMessage(\´Não consegui excluir \´+ A);
I := FindNext(SR);
end
else
I := FindNext(SR);
end;
FindClose(SR);
end;


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar