function TMainForm.DeleteDirectory(NowPath: string): Boolean; //删除整个目录
var
search: TSearchRec;
ret: integer;
key: string;
begin
if NowPath[Length(NowPath)] <> '/' then
NowPath := NowPath + '/';
key := Nowpath + '*.*';
ret := findFirst(key, faanyfile, search);
while ret = 0 do begin
if ((search.Attr and fadirectory) = faDirectory)
then begin
if (Search.Name <> '.') and (Search.name <> '..') then
DeleteDirectory(NowPath + Search.name);
end else begin
if ((search.attr and fadirectory) <> fadirectory) then begin
deletefile(NowPath + search.name);
end;
end;
ret := FindNext(search);
end;
findClose(search);
removedir(NowPath); //这个是删除本文件夹的
result := True;
end;
简单的办法:
用TFileListBox控件,Directory=ADir,
for i := 0 to FileListBox1.Items.Count - 1 do begin
DeleteFile(PChar(FileListBox1.Items[i]));
end;
其实就是一个一个删除目录里的文件,也可以自己写代码获得目录里的所有文件,
如果有子目录,可以用递归的方法删除