ディスククリーンアップの自動化設定 - 適宜覚書-Fragments

ディスククリーンアップの自動化設定

      2017/03/02

MicrosoftからToolやドキュメントのzipファイルをダウンロードすると大抵解凍先が固定でC:\Documents and Settings\{ユーザプロファイル}\Local Settings\Tempに指定されている。たまに参照ボタンがついていて好きに解凍先を選択出来る場合もあるが、あまり見当たらない。今日ダウンロードしたファイルも固定のものだったので仕方なく、そのまま解凍した。解凍先を見に行って異様にテンポラリファイルやフォルダが入っていて吃驚した、そういえば最近ディスククリーンアップしていなかったな…と気がついて早速行うことにした。

手動で行うには[マイ コンピュータ] で任意のドライブを右クリックし[プロパティ]で[全般]タブから [ディスクのクリーンアップ]を選択する。俺はうろ覚えで昔ながらの[スタート]-[すべてのプログラム]-[アクセサリ]-[システムツール]-[ディスクのクリーンアップ]で開いたけど…。

とりあえずクリーンアップが終わり少しだけ身奇麗になった訳だが、これを何度もやるのは面倒だ。上手い手が無いかとあれこれ探したところ2つ方法が見つかった。

  1. ディスククリーンアップの定時実行
  2. ディスク残量閾値設定による実行要求

ディスククリーンアップの定時実行

ディスククリーンアップの実体はcleanmgr.exeでコマンドラインで使うことも出来る。少々このツールは癖があって、クリーンアップ対象の選択を一旦保存しないと実行出来ない。普通コマンドラインの直接実行であるならオプションがゴテゴテあってそれを選択しさえすればすぐさま実行出来るのだけど、何でだか迂遠だ。

文句を言っても仕方ないのでcleanmgr /sageset:11をコマンドラインから実行する。(11とした部分は記録場所を意味し任意に0-65535までを選択出来る)すると、対象ドライブ選択を求められ、空き容量の計算後にクリーンアップ対象の選択画面GUIが表示されるのでペケペケ必要なチェックボックスをonにしてOKを押すことで設定される。この画面は通常のディスククリーンアップに似ているが、「詳細オプション」タブや「ファイルの表示」ボタンが存在しない。これで設定は完了。再度、この内容を変更したい場合は先と同じcleanmgr /sageset:11を行って、内容を変更すれば良い。

実行はcleanmgr /sagerun:11で出来るので、これをバッチファイルにしてタスクマネージャ等で実行タイミングを決めてやれば定時実行が可能となる。試しに手動で実行させるてみたが問題なく動きそうだ。頻繁にやると時間ばかりかかって嫌になるので一ヶ月に一回程度が良いのかな?

ディスク残量閾値設定による実行要求

基本的に定期実行出来れば十分だと思う。ただ、WindowsXPだとディスク残量によってバルーンメッセージで警告が表示される。この機能を上手く使うことが出来れば時期ではなく、容量不足の時だけ対応するということが出来そうだ。この機能が働く閾値は、システム復元ツールがハード ディスク領域の使用状況に応じて動作する方法にある。しかし、残念ながらこの値は固定のようでいじる方法が見当たらない。

似たようなところでHDDの空き容量不足通知の閾値をその他に変えるには、レジストリで\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\ParametersDiskSpaceThresholdというDWORD値のキーを新規作成し、0-99の間で任意のの値を指定する。この方法はWindowsNT以降でAlerterとMessengerサービスを稼動させている状況で有効らしい。

まだ、試していないが恐らくWMIでイベント監視してやれば似たようなものが出来そうだがまだアタリを付けていない。

参考情報

適宜覚書-Fragmentsは、筆者が興味をもった様々な情報やネタを筆者が忘れても後で思い出せるよう覚書として公開するBlogです。Google Chrome拡張、Facebook、Google、Twitter、Windows、各種Webアプリなどを扱うことが多いです。この覚書が、もし何かお役立ちになれば幸いです。

 - Tips, Windows, ツール, 覚書 , , , , ,