【Win】 アプリ終了時に連動してフォルダやファイルを削除する方法

Windows

そもそも、普通のアプリならTEMPファイルを残さずに消すかどうかの設定くらいあるものの、中にはあるんです、LOGやらTEMPファイルを残したままにして肥大化し続けるアプリが。

そんな糞アプリ使うな、って話ですが、やんごとなき事情や宗教上の理由で使い続けないといけない場合は、特定のフォルダやファイルを削除するbatファイルと、アプリ終了時に連動してbatファイルを動かすvbsファイルを作りましょう。まずはvbsの記述から。

適当なファイル名.vbs


CreateObject("WScript.Shell").Run """Q:\適当なフォルダ名\実行ファイル.exe""",1,True
CreateObject("WScript.Shell").Run """Q:\適当なフォルダ名\削除するよ.bat""",0


vbsの記述はこんな感じ、このvbsを実行すれば「実行ファイル.exe」が起動されて、「実行ファイル.exe」が終了したあと「削除するよ.bat」が走ります。ドライブ名やフォルダ名やファイル名は適当に書き換えてご利用ください。

これで気が付いたらいつの間にかストレージの容量が少なくなっている、という事態が回避されます。

batファイルの記述は消すのがフォルダ単位だったりファイル単位だったりで記述が変わってくるのでぐぐってください。汎用的に使いやすいかもしれない一例だけ。

削除するよ.bat


Q:
cd \
rd /s /q Q:\TEMPフォルダだよ
md Q:\TEMPフォルダだよ


Qドライブの「TEMPフォルダだよ」のフォルダごと削除して新たに「TEMPフォルダだよ」を作る、といった例です。おしまい。

ここまで書いて、いまいちピンと来ない人が99.99%なシチュエーションだったので、このvbsのもっと家庭的で実用的な使い方をひとつ。旦那様の浮気にお悩みの奥様向けです。


CreateObject("WScript.Shell").Run """Q:\適当なフォルダ名\実行ファイル.exe""",1,True
CreateObject("WScript.Shell").Run """Q:\適当なフォルダ名\あの女はだれ?.txt""",0


旦那様がよく使うアプリのショートカットをこのvbsのショートカットに変更しておけば(アイコンの変更もお忘れなく)、旦那様がアプリ終了時に「あの女はだれ?.txt」が開かれます。「あの女はだれ?.txt」の中身は愛をこめて任意でどうぞ。

ちょっと手間ですが、全アプリのショートカットをこのvbsに変更しておけば、きっと奥様の愛が旦那様に伝わること間違いなしでしょう。(その後、火曜サスペンスにならないとは言っていない)