宮崎県延岡市 | スマイルカラーソフトウェア | ユーザースタイルに合わせたプログラミングでお客様に幸せをお届けします。

ファイルの削除(ワイルドカード対応)

ファイルを削除するとき、ワイルドカードで削除したいときがあります。*.txt とすると、拡張子が .txt のファイルを削除できます。

procedure DeleteFileEx(const sWildCardFile: String);
var
 i: Integer;
 SR: TSearchRec;
 SL: TStringList;
begin
 if FindFirst(sWildCardFile, FaArchive, SR) = 0 then
 begin
  SL := TStringList.Create;
  repeat
   if (SR.Attr and FaArchive) = sr.Attr then
    SL.Add(SR.Name);
  until FindNext(SR) <> 0;
  FindClose(SR);
  for i := 0 to SL.Count - 1 do
   DeleteFile(ExtractFilePath(sWildCardFile) + SL.Strings[i]);
  SL.Free;
 end;
end;

次のように使用します。

 // C:\Temp の Temp????.* をすべて削除する
 DeleteFileEx('C:\Temp\Temp????.*');