前回、ローカルPCに「なでしこ3」をインストールする方法を紹介しました。今回はそれを利用して、フォルダ内にある不要なファイルを自動で削除するプログラムを作ってみましょう。

不要なファイル削除ツールを作ろう

普段、仕事でさまざまなファイルを扱っていると、フォルダ内に無駄なファイルが残ってしまうことがあります。例えば、秀丸などのテキストエディタでは、ファイルを編集しているときに、バックアップ用の「xxx.bak」というファイルが生成されることがあります。また、WordやExcelも、一時ファイルを作成しますが、それがフォルダ内に残ってしまうこともあります。加えて、Windowsではフォルダ毎に、Thumbs.dbという画像のキャッシュファイルが作成されます。

それで、メールやUSBメモリなどを介して、誰かにデータを渡す時など、こうした不要ファイルをそのままにしておくのは、あまり行儀が良いとは言えません。そこで、フォルダ内にある不要ファイルを自動で削除するツールを作ってみましょう。

今回のプログラムを実行するには、自分のPCに、なでしこ3をインストールしている必要があります。前回の内容を参考にして、インストールしてみてください。ダウンロードサイトはこちらになります。

なお、プログラムを手軽に試すには「nako3edit」が便利です。Windowsなら「nako3edit.vbs」をダブルクリック、macOSならターミナルを起動して「nako3edit」コマンドを実行します。

  • nako3editを起動したところ

    nako3editを起動したところ

全ファイル列挙について

最初に、ツールを作るのに当たって必要となる命令の使い方を確認しておきましょう。

特定のファイル一覧を取得するには『全ファイル列挙』命令を使います。この命令は、デスクトップ以下にあるファイルの一覧をフルパスで取得します。

 デスクトップの全ファイル列挙して表示。

プログラムを実行すると、以下のように表示されます。

  • デスクトップ以下のファイルを列挙したところ

    デスクトップ以下のファイルを列挙したところ

そして、任意形式のファイルを列挙するには、「{パス}/形式1;形式2;形式3...」のように指定します。ここでは、一般的な不要ファイルとして、以下のようなものを列挙してみます。
・拡張子が「.bak」
・拡張子が「.tmp」
・ファイル名が「Thumbs.db」
・ファイル名が「.DS_Store」

プログラムにすると、以下のようになります。

 対象パス=デスクトップ
 対象形式=「*.bak;*.tmp;Thumbs.db;.DS_Store」
 「{対象パス}/{対象形式}」の全ファイル列挙して表示。

実行すると、上記の形式のファイルが列挙されます。

  • 削除対象のファイルを列挙したところ

    削除対象のファイルを列挙したところ

不要なファイル削除ツール

それでは、ツールを完成させましょう。ファイルを列挙したら、列挙した一覧を一つずつ反復して削除します。次のプログラムは、デスクトップ以下にある不要ファイル一覧を列挙します。

 テストモード=オン # --- (*1)
 対象パス=デスクトップ # --- (*2)
 対象形式=「*.bak;*.tmp;Thumbs.db;.DS_Store」# --- (*3)
 「{対象パス}/{対象形式}」の全ファイル列挙 # --- (*4)
 反復
     対象を表示。
     もし、テストモードがオフならば、対象のファイル削除。# --- (*5)
 ここまで。

「実行(cnako3)」ボタンを押すと、不要ファイルが列挙されます。列挙された内容を確認した後 、大丈夫そうなら、(*1)の「オン」を「オフ」に変更して、再度「実行(cnako3)」ボタンをクリックします。そうすると、実際にファイルが削除されます。

  • 不要ファイルの削除ツールを実行したところ

    不要ファイルの削除ツールを実行したところ

プログラムを確認してみましょう。プログラム(*1)の部分では、テストモードかどうかを指定します。確認が不要なら、最初から『テストモード=オン』と設定しても良いでしょう。そして、(*2)の部分では、検索対象となるパスを指定します。ここでは、デスクトップを指定していますが、特定のパスを指定して、『対象パス=「c:¥Users¥xxx」』のように記述しても良いでしょう。

そして、(*3)の部分では、検索するファイル形式を指定します。セミコロン「;」で区切って複数の形式を記述できます。「*.bak」のように書くと、拡張子が「.bak」のものを列挙します。(*4)の部分で実際にファイルを列挙します。そして『反復 ... ここまで』構文を利用して、列挙したファイルについて、繰り返し処理を行います。(*5)の部分では、変数「テストモード」の値を確認して、テストモードがオフの状態であれば、ファイルを実際に削除します。

なお、(*3)の変数『対象形式』の値を変更すれば、より多くの不要ファイルを列挙することができます。

まとめ

以上、今回は、PC版の「なでしこ3」を利用して、不要ファイルを削除するツールを作ってみました。わずか8行のプログラムでしたが、削除前に対象となるファイルを確認するテストモードの機能もつけることができました。不要ファイルは、利用するアプリや環境に応じて変わるものです。ぜひ、このプログラムを叩き台にして、独自の不要ファイル削除ツールを作ってみてください。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2005年IPAスーパークリエイター認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。