サブフォルダにあるjpgファイルだけを削除したいと思っています。
フォルダA
|
|——フォルダB
| | b.jpg b.txt b.csv
| |——フォルダBB
| bb.jpg bb.txt bb.csv
|——フォルダC
c.jpg c.txt c.csv
SHFileOperationを使用して「フォルダA\*.jpg」を削除としてみたのですが
うまくいきませんでした。
良い方法を教えていただけますでしょうか?
こんな感じでしょうか。
# 多分 Delphi 2010 以降
uses
..., IOUtils;
var
FileName: string;
begin
for FileName in TDirectory.GetFiles('Z:\', '*.jpg', TSearchOption.soAllDirectories) do
TFile.Delete(FileName);
end;
言うまでもない事かもしれませんが、
サブフォルダを走査してファイルを削除する時は、
パスのチェックを入念に行って下さい。
…でないと、DocuWorks みたいな事になりますので。
http://news.fujixerox.co.jp/news/2014/001059/
Delphi2010以降からはTDirectoryというクラスが存在するのですね。
勉強になりました。
もし、Delphi2010より前のバージョンでサブフォルダ内にある
任意の拡張子のファイルを削除するとなると、やはり再帰的に
サブフォルダ内を探していくしかないのでしょうか?
> もし、Delphi2010より前のバージョンで
再帰でしょうね。
ご教授ありがとうございました。
DEKO様から説明して頂いた内容で作成したいと思います。
ツイート | ![]() |