方法一:
procedure TForm1.Button1Click(Sender: TObject);
Var
T:TSHFileOpStruct;
P:String;
begin
P:='C:\WINDOWS\TEMP';//这里改成你要删除的任意目录名
With T do
Begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(P);
pTo:=nil;
fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
hNameMappings:=nil;
lpszProgressTitle:='正在删除文件夹';
fAnyOperationsAborted:=False;
End;
SHFileOperation(T);
end;
方法二:
procedure TForm1.Button1Click(Sender: TObject);
var
APath: AnsiString;
lpFileOp: TSHFileOpStruct;
begin
APath:='e:\windser\000'#0#0;//指定目录
with lpFileOp do
begin
wnd:=self.handle;
wFunc:=FO_Delete;
pFrom:=PChar(APath);
pTo:=nil;
fFlags:=FOF_AllowUndo;
hNameMappings:=nil;
lpszProgressTitle:=nil;
fAnyOperationsAborted:=true;
end;
if SHFileOperation(lpFileOp)=0 then
ShowMessage('删除成功!')
else
ShowMessage('删除失败!');
end;
if FindFirst(sDir + '*.*', faAnyFile and not faDirectory, sr) = 0 then begin
repeat
DeleteFile(sDir + sr.Name)
until FindNext(sr) <> 0;
FindClose(sr);
end;