procedure AttribPath(mDirName: string; mAttrib: Integer);
var
vSearchRec: TSearchRec;
vPathName: string;
K: Integer;
begin
vPathName := mDirName + '\*.*';
K := FindFirst(vPathName, faAnyFile, vSearchRec);
while K = 0 do begin
if (vSearchRec.Attr and faDirectory > 0) and
(Pos(vSearchRec.Name, '..') = 0) then
FileSetAttr(mDirName + '\' + vSearchRec.Name, faDirectory or mAttrib)
else if Pos(vSearchRec.Name, '..') = 0 then
FileSetAttr(mDirName + '\' + vSearchRec.Name, mAttrib);
K := FindNext(vSearchRec);
end;
FileSetAttr(mDirName, faDirectory or mAttrib);
FindClose(vSearchRec);
end; { AttribPath }
procedure TForm1.Button1Click(Sender: TObject);
begin
AttribPath('c:\temp', 0);
end;