procedure RemoveTree(path: string;ext:string); var FileList: TStringList; i: integer; procedure GetFileList(FileSpec: string; NamesOnly: Boolean; var FileList: TStringList); var SR: TSearchRec; DosError: integer; begin FileList.Clear; DosError := FindFirst(FileSpec, faAnyFile-faDirectory, SR); while DosError=0 do begin if NamesOnly then FileList.Add(SR.Name) else FileList.Add(ExtractFilePath(FileSpec)+SR.Name); DosError := FindNext(SR); end; end; begin FileList := TStringList.Create; GetFileList(path+'*.'+ext,False,FileList); for i := 0 to FileList.Count-1 do begin DeleteFile(PChar(FileList[i])); end; filelist.Destroy; delete(path,length(path),1); // rmdir(pchar(path)); RemoveDirectory(pchar(path)); end;
遍历一个个删!!
'\*.txt';
*用具体的名字可以,但不止一个文件时不行啊!
如果非要批量删,就自己写了
var
FileList: TStringList;
i: integer;
procedure GetFileList(FileSpec: string;
NamesOnly: Boolean;
var FileList: TStringList);
var
SR: TSearchRec;
DosError: integer;
begin
FileList.Clear;
DosError := FindFirst(FileSpec, faAnyFile-faDirectory, SR);
while DosError=0 do
begin
if NamesOnly then
FileList.Add(SR.Name)
else
FileList.Add(ExtractFilePath(FileSpec)+SR.Name);
DosError := FindNext(SR);
end;
end;
begin
FileList := TStringList.Create;
GetFileList(path+'*.'+ext,False,FileList);
for i := 0 to FileList.Count-1 do
begin
DeleteFile(PChar(FileList[i]));
end;
filelist.Destroy;
delete(path,length(path),1);
// rmdir(pchar(path));
RemoveDirectory(pchar(path));
end;