フォルダの中のファイルを全て消すには

解決


表裏 未里  URL  2008-11-23 19:44:16  No: 32698  IP: 192.*.*.*

こんにちは、表裏  未里です。いつもお世話になっております。
良いアルゴリズムが思いつかなくてこちらに質問させてもらうことにしました。

フォルダの中のファイルを全て消す処理(拡張子はばらばらで沢山ファイルがあります)

良い案がありましたら、よろしければご教授よろしくお願いします。

編集 削除
igy  2008-11-23 19:59:19  No: 32699  IP: 192.*.*.*

FindFirst 関数・FindNext 関数を使い、ディレクトリ内のファイル名をリストアップし、
DeleteFile 関数で実際に削除する
のはどうですか?

編集 削除
通りすがり  2008-11-23 20:22:16  No: 32700  IP: 192.*.*.*

以下はどうですか?

http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00161.htm

編集 削除
表裏 未里  URL  2008-11-23 20:38:59  No: 32701  IP: 192.*.*.*

igy様、通りすがり様。ご親切にありがとうございます!
URL大変参考になりました。無事全てのファイルを消すことができました。ありがとうございました。

編集 削除
Mr.XRAY  2008-11-23 23:04:17  No: 32702  IP: 192.*.*.*

こんな方法もあります.参考までに

usesにShellAPIが必要
AFolderが削除するフォルダのパス ex D:\AAA

procedure TForm1.Button1Click(Sender: TObject);
var
    AFolder : String;
    FileOp  : TSHFileOpStruct;
begin
    //TShFileOpStruct構造体の各値を設定
    with FileOp do begin
      Wnd    := Application.Handle;
      wFunc  := FO_DELETE;
      pFrom  := PChar(AFolder+#0#0);
      pTo    := nil;
      fFlags := FOF_ALLOWUNDO;
    end;
    SHFileOperation(FileOp);
end;

編集 削除
表裏 未里  URL  2008-11-24 00:54:22  No: 32703  IP: 192.*.*.*

Mr.XRAY様。ありがとうございます!
とても短いコードで実現出来るんですね!  凄いです!
こちらも参考にさせて頂きますね。皆さんお優しくてとてもありがたいです。
今後ともよろしくお願いします。

編集 削除