{*------------------------------------------------------------------------------
删除目录下文件
@param
Dir string
@throws 无
@return Boolean
------------------------------------------------------------------------------*}
function Deltree(Dir: string): Boolean;
var
sr: TSearchRec;
fr: Integer;
function AddDirSuffix(Dir: string): string;
begin
Result := Trim(Dir);
if Result = '' then
Exit;
if Result[Length(Result)] <> '\' then
Result := Result + '\';
end;
begin
Result := False;
if not DirectoryExists(Dir) then
begin
Result := True;
Exit;
end;
fr := FindFirst(AddDirSuffix(Dir) + '*.*', faAnyFile, sr);
try
while fr = 0 do
begin
if (sr.Name <> '.') and (sr.Name <> '..') then
begin
if sr.Attr and faDirectory = faDirectory then
Result := Deltree(AddDirSuffix(Dir) + sr.Name)
else
Result := DeleteFile(AddDirSuffix(Dir) + sr.Name);
if not Result then
Exit;
end;
fr := FindNext(sr);
end;
finally
FindClose(sr);
end;
Result := RemoveDir(Dir);
end;
DIr是需要删除的目录
例如 Deltree('d:\dir');
本文地址:http://www.xszlo.com/article/2012-12-11/7623.html,转发请保留这个地址,谢谢
删除目录下文件
@param
Dir string
@throws 无
@return Boolean
------------------------------------------------------------------------------*}
function Deltree(Dir: string): Boolean;
var
sr: TSearchRec;
fr: Integer;
function AddDirSuffix(Dir: string): string;
begin
Result := Trim(Dir);
if Result = '' then
Exit;
if Result[Length(Result)] <> '\' then
Result := Result + '\';
end;
begin
Result := False;
if not DirectoryExists(Dir) then
begin
Result := True;
Exit;
end;
fr := FindFirst(AddDirSuffix(Dir) + '*.*', faAnyFile, sr);
try
while fr = 0 do
begin
if (sr.Name <> '.') and (sr.Name <> '..') then
begin
if sr.Attr and faDirectory = faDirectory then
Result := Deltree(AddDirSuffix(Dir) + sr.Name)
else
Result := DeleteFile(AddDirSuffix(Dir) + sr.Name);
if not Result then
Exit;
end;
fr := FindNext(sr);
end;
finally
FindClose(sr);
end;
Result := RemoveDir(Dir);
end;
DIr是需要删除的目录
例如 Deltree('d:\dir');
本文地址:http://www.xszlo.com/article/2012-12-11/7623.html,转发请保留这个地址,谢谢