ソフトウエアライブラリ

ZERO_DEL ver1.1a

WWW自動巡回ソフトが持ってきた意図していなかったファイルを一気に削除します。

特徴として
・「ごみ箱」を利用した削除
・出来る限りディレクトリ単位で削除
・「絶対削除したい」「削除したくない」を指定可能
まだ不十分な部分もあるでしょうけど一応公開。

動作環境 NEC PC-98x1シリーズ
IBM PC/AT 互換機
対応OS MS-Windows95/NT4.0(日本語版)
MS-Windows98及びWindows2000は未確認(動作するようです)

ダウンロード 333932bytes

製作の裏話

自宅からインターネットに接続できる環境を用意してからすぐにWWWの自動巡回ソフトを購入して使用していました。
しかし、作者によっては複数のプロバイダを併用している人もいたりして、ミラーを作るのに結構大変な設定をしていました。

ある程度設定に慣れ、上手に使えるようになるのと同時に異常な速さで増えるバナー画像や有名な検索エンジン、メーカーのページなどをどうするかが結構深刻な問題でした。ある程度は手作業でやっていたのですが、そのうちに我慢できなくなり、ZERO_DELの全身となるプログラム(未公開)を作成したのでした。

このプログラムは dir コマンドの結果を基にファイルの削除のためのバッチファイルを作るというものでしたが、いかんせん10分程度で作ったプログラムだったために精度が低かったのと、削除≠ごみ箱ではないことがネックでした。

おまけにDOSプログラムでした

C++Builderの購入とほぼ同時に製作に取りかかり、ある程度動くようにした上でしばらく使っていたのですが、あまりの遅ささに腹が立ち、マルチスレッドプログラミングなんてのを勉強してみたり、「削除したい/したくない」の機能をある程度本格的にしたりとWindowsベースのプログラミングの勉強としては役に立ったプログラムです。

質問への回答

一番多く寄せられるのが「強制削除」の指定と「削除対象外」の組合せです。ある程度見当をつけている人もいるようですが、どういう処理をしているのかを書いておきます。

原則1 何も指定がなかった場合、削除の対象とするのは
  • そのディレクトリに一つだけのファイル
  • ファイルサイズが0バイトのもの
  • 空のディレクトリ
です。
原則2 「削除対象外」としてあるものは検索された場合でもチェックの外れた状態に設定する。
原則3 「強制削除」の指定がされると原則1に一致しないファイルでも削除の対象とする。
ただし、ディレクトリが一致した場合、そのディレクトリ内のすべてのファイルが削除の対象となる。さらにその中の検索をスキップする。

かなりわかりにくいので例を挙げましょう。

「削除対象外」にaaaを指定し、「強制削除」にbbbを指定してあり、以下のようなファイルがあるとします。

ディレクトリaaa
 ファイルaaa
 ファイルbbb

この場合、ファイルbbbが「強制削除」として一覧にあげられ、さらにファイルaaaが「単独のファイル」として一覧に上がります。また、あわせてディレクトリaaaも「空のディレクトリ」として一覧にあがります。
ただし、チェックがついているのはファイルbbbのみです。

ディレクトリbbb
 ファイルaaa
 ファイルbbb

この場合、ディレクトリbbbが「強制削除」として一覧にあげられるだけです。ファイルaaa、ファイルbbbともに検索に行くことすらしません。

このため、www.abc.com/123/ は残したいが、www.abc.com/abc/ は強制削除したい場合、「強制削除」にabcを指定するとひどい目に遭います。


↑もしもここに何も表示されていなかったら、ブラウザの「戻る」で戻ってください。