본문 바로가기

프로그래밍/Delphi

[Delphi]*를 포함한 여러 파일 일괄 삭제


test_*.jpg, test.* 처럼 "*"문자를 이용한 다중 파일 삭제 처리는 다음과 같이 하자
 
procedure _Deletefiles(APath, AFileSpec: string);
var
  lSearchRec:TSearchRec;
  lFind:integer;
  lPath:string;
begin
  lPath := IncludeTrailingPathDelimiter(APath);
  lFind := FindFirst(lPath+AFileSpec,faAnyFile,lSearchRec);
  while lFind = 0 do
  begin
    DeleteFile(lPath+lSearchRec.Name);
    lFind := SysUtils.FindNext(lSearchRec);
  end;
  FindClose(lSearchRec);
end;

procedure Deletefiles(AFile : string);
var
  path, fileSpec : String;
begin
  path := ExtractFileDir(AFile);
  fileSpec := ExtractFileName(AFile);
  _DeleteFiles(path, fileSpec);
end;