//删除目录和目录下得所有文件和文件夹
procedure DeleteDir(sDirectory, DotDelDir: String);
var
sr: TSearchRec;
sPath,sFile: String;
begin
if rightstr(sDirectory, 1) <> '\' then
sDirectory := sDirectory + '\';
if rightstr(DotDelDir, 1) <> '\' then
DotDelDir := DotDelDir + '\';
//检查目录名后面是否有 ''
if Copy(sDirectory,Length(sDirectory),1) <> '' then
sPath := sDirectory + ''
else
sPath := sDirectory;
//------------------------------------------------------------------
if FindFirst(sPath+'*.*',faAnyFile, sr) = 0 then
begin
repeat
sFile:=Trim(sr.Name);
if sFile='.' then Continue;
if sFile='..' then Continue;
sFile:=sPath+sr.Name;
if (sr.Attr and faDirectory)<>0 then
begin
if rightstr(sFile, 1) <> '\' then
sFile := sFile + '\';
if sFile = DotDelDir then
Continue;
DeleteDir(sFile,'')
end
else if (sr.Attr and faAnyFile) = sr.Attr then
DeleteFile(sFile); //删除文件
until FindNext(sr) <> 0;
FindClose(sr);
end;
RemoveDir(sPath);
//------------------------------------------------------------------
end;