今回は不要ファイルを一括で削除するツールを作ってみます。パソコンをしばらく使っていると、OSや何かのソフトが一時作業用に作った無駄なファイルが消されずに残ってしまうことがあります。こうした無駄なファイルを一気に削除するプログラムを作るのが今回の目的です。
最近では、ハードディスクの要領が大きくなり、多少、無駄なファイルがあっても気にしないという方もいるかもしれませんが、無駄なファイルがあるのは、精神的に嫌なものです。
プログラム~不要ファイルの一括削除
不要なファイルというのは、人それぞれ、パソコンの使い方によっても違うと思います。今回は、一括削除の例として、下記のファイルを対象にしてみます。
(1)Windows XPが自動的に作る画像のサムネイルファイル「Thumbs.db」
(2)Mac OS Xが自動的に作る「.DS_Store」
(3)ホームページ作成ソフトや、一部のテキストエディタが作るバックアップ用のファイル(拡張子が「.bak」のファイル)
上から(1)の「Thumbs.db」は、普段は見えない設定になっています。フォルダーを開いた状態で、 [ツール]→[フォルダオプション]を選び、[表示]タブを選びます。ここで「保護されたオペレーティングシステムファイルを表示しない」のチェックをはずすと見えるようになります。Windows XPでは、画像ファイルを表示すると、その画像を縮小したサムネイル画像を表示してくれます。「Thumbs.db」はこの画像を素早く見せるために、一度作成したサムネイル画像を保存しているファイルです。普段あまり見ない画像の入っているフォルダーにあれば無駄と言えます。
次に(2)の「.DS_Store」ですが、これは、Mac OS Xで自動的に作られるファイルです。Mac OS X側でアイコンの位置などを記憶しておくために作られるもので、Macを使っている人から送ってもらったファイルなどに入っていることが多く、Windowsを使う時には全く意味がありません。
そして、(3)ですが、拡張子が「.bak」のファイルは、いろいろなソフトで作られるファイルで、操作の途中でソフトが強制終了してしまった時に備え、バックアップ用に作られることが多いようです。私の知っているソフトでは、ホームページビルダーや、秀丸エディタなどで、バックアップを自動的に作成する設定をしていると、作られるようになっていました。
「.bak」というファイルがどのソフトによって作成されているのか、よく分からないという場合は、下のプログラムをそのまま実行せず、「ゴミ拡張子=」欄から「*.bak」という項目を削除してください。
【プログラムの使い方】
以下のプログラムをなでしこのエディタに貼り付けて実行します。
すると、フォルダー選択のダイアログが出ますので、削除したいフォルダーを選択します。
フォルダーを選択すると、削除対象となるファイルの一覧が表示されますので、念のため間違ったファイルが列挙されてないか確認し、[決定]ボタンを押すと、ファイルが削除されます。
【プログラムソース1】
#-----------------------------------------------------------
# ごみファイルを削除する
#-----------------------------------------------------------
ゴミ拡張子=「Thumbs.db;.DS_Store;*.bak」#1
フォルダ選択して対象DIRに代入。#2
対象DIR&ゴミ拡張子の全ファイル列挙して、対象ファイルに代入。#3
「以下のファイルを削除します。
{対象ファイル}」をメモ記入。#4
もし(それ=空)ならば、終わる。#5
対象ファイルを反復 #6
母艦のタイトル=対象。#7
対象のファイル削除。#8
「削除完了しました」と言う。#9
終わり。#10
【注意】
このプログラムでは、実際にファイルを削除してしまいます。実行については自己責任でお願いします。プログラム中で、念のため削除するファイルが表示されますので、大切なファイルを消すことがないか確認してください。
また、このプログラムでは、フォルダー以下のファイルを再帰的に検索するようになっています。そのため、Cドライブなど、大量のフォルダーを持つフォルダーを指定すると、検索に時間がかかりすぎる場合があります。

【カスタマイズ】
プログラムの一行目#1で不要なファイルの種類を指定するようになっています。ゴミ拡張子の内容を変更することで、削除するファイルを指定できます。例えば、拡張子が「.tmp」のファイルを消したい場合は『ゴミ拡張子=「*.tmp」』などと書き換えてください。プログラムの例のようにセミコロン「;」で区切ることで複数の拡張子やファイルを指定できます。
では、次のページでプログラム中で使用している命令の書式について見ていきましょう。