| |
 |
Wie kann man Dateien Unterverzeichnissen l?schen?
06-10-2002 18:26
|
|
Nutzung von FindFirst(), FindNext() und FindClose()
Die folgende Funktion durchsucht das angegebene Verzeichnis und l?scht die Dateien die der "Mask" entsprechen. Wenn die subdir mit true belegt ist durchsucht die Funktion ebenfalls die Unterverzeichnisse.
|
function delfiles(mask, dir: string; subdir: boolean): boolean;
var Srec: TSearchRec;
found: integer;
begin
// z.B. mask = *.txt
// oder
// mask = D*p?i.txt {l?scht z.B. Delphi.txt}
result:=false;
if dir[length(dir)]<>'' then dir:=dir+'';
//Dateien finden
found:= findfirst(dir+mask, faAnyFile, Srec);
while found=0 do
begin
result:=deletefile(dir+Srec.Name);
found:=findnext(Srec);
end;
findclose(Srec);
//Unterverzeichnisse finden
found:= findfirst(dir+'*.*', faAnyFile, Srec);
while found=0 do
begin
if (Srec.Attr and faDirectory > 0) and (Srec.Name[1]<>'.')
and (subdir=true) then
begin
delfiles(mask, dir+Srec.Name, true);
end;
found:=findnext(Srec);
end;
findclose(Srec);
end;
|
|
N?heres ?ber FindFirst(), FindNext() und FindClose() in der Online Hilfe.
|
|
|
|
|