Windows – ディスククリーンアップ自動化!
Updated:
また、Windowsのバッチ処理についてです。
バッチ処理って意外とコンピュータの基本だと思ってるのは、、、私だけ!? 「人間が苦労してやる複雑な処理でも、自動で黙々と決められたとおりにこなす」んで。。。
Windowsを使っていると、知らないうちにブラウザキャッシュや何かの一時ファイルなどがどんどん貯まってディスク領域を圧迫して、動作がなんとなく(?)重くなるような感じになることがあると思います。
そんな時、たいていWindows標準のシステムツールの「 ディスククリーンアップ 」を使うと思います。
でも、それは自分が思いついたときに手動で起動させないといけないので、よく忘れてしまいます。
そこで、僕はそれを自動化させています。
簡単に言うと、 「 ディスククリーンアップ 」をコマンドラインで実行させるためのバッチファイルを作成して、それをタスクスケジューラで定期的に実行させるように設定する。 です。
作業手順
※動作確認は「 WindowsXP Pro SP3 」でしてます。
1.「ディスククリーンアップ」の設定(1)
まず、コマンドプロンプトから以下のように入力。
C:\>CLEANMGR /sageset:1 ← 0 ~65535 の任意の数字
上記の例は、全てのドライブのディスククリーンアップの設定を「 1 」番に保存するという意味。 もし、複数ドライブがあってCドライブだけの設定をしたければ、以下のようにすればよい。
C:\>CLEANMGR /d c: /sageset:1
2.「ディスククリーンアップ」の設定(2)
「 ディスククリーンアップの設定 」ダイアログが表示されるので、削除させたい項目にチェックをつけ、[ OK ]ボタン押下する。
※当方は「 ゴミ箱 」は自分で内容を確認しながら整理したいので、「 ゴミ箱 」以外全てにチェックをいれています。
3.バッチファイルの作成
「 ディスククリーンアップ 」実行用のバッチファイルを作成する。 以下は当方の例。 [ CleanUp.bat ]
@TITLE ■ CleanUp...
@REM **** 環境変数設定
@SET LOGDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
@SET LOGTIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@SET LOGFILE=D:\03_Bat\Log\CleanUp.log
@ECHO ■■■■ CleanUp START [ %LOGDATE% %LOGTIME% ] ■■■■ >> %LOGFILE%
@CLEANMGR /sagerun:1 ← sageset で設定したクリーンアップの実行
@SET LOGDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
@SET LOGTIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@SET SAVEFILE=D:\03_Bat\Log\CleanUp.log
@ECHO ■■■■ CleanUp E N D [ %LOGDATE% %LOGTIME% ] ■■■■ >> %LOGFILE%
@exit
処理開始、処理終了の日時をログ出力するようにもしています。
※コマンドプロンプトから直接以下のようにしても実行できます。
C:\>CLEANMGR /sagerun:1
4.タスクスケジューラ登録
システムツールの「 タスク 」で上記のバッチファイルをスケジュール登録する。 ※タスクスケジューラを使用しなくても、上記のバッチファイルを起動させればすぐに設定通りのディスククリーンアップが実行できるので、それだけでも便利かも。
5.動作確認
タスクスケジューラで設定した日時になると、DOS窓とディスククリーンアップのダイアログが表示され処理が実行される。
今回の場合、ログも出力させているので、ログも確認してみる。
設定は以上です。
ちなみに当方の場合、月に1回実行するようにしています。
Windows標準の機能で意外と便利なことができるんで、まあまあ満足してるとこ!
じゃ、また。
Comments