前回、ロヌカル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貢献者章受賞。技術曞も倚く執筆しおいる。