PC は使っていると、もう使わないようなファイルが溜まっていきます。
フォルダの同期・バックアップ方法4:FireFileCopyを使って履歴バックアップする
バックアップ
に書いたように、私は自分が編集したファイルは全てファイルを履歴付きで別フォルダにバックアップを取っています。過去10年近くに渡ってファイルが残っています。
さらに、自分でツールを作るので、そのデバッグやバックトレーサビリティのために、それらのツールは、結構な量のログファイルを作ります。
特に、自動的にバックグラウンドで実行しているようなツールは、
UWSC170224.log
UWSC170225.log
UWSC170226.log
:
UWSC170230.log
みたいに、日付をキーにして別ファイルを作ってます。
■ファイルを消すタイミング
どういうタイミングで消しているかというと、以前は「気がついたときに」というのが多かったです。最近のハードディスクは大容量なので、たかだがログファイルごときでディスク領域を圧迫するということはあまり感じなくなりましたが、性格的に「不要なものがある」というのが気持ち悪いので。
直近のデータは必要になるかもしれないので、消すのは原則古いファイルだけにしてます。
どのくらい古ければもういらないのかというと、それはファイルごとに異なります。
たとえば、このブログに投稿するのに使っているツールのログは、ちゃんと登録できたかどうかを確認するのが1週間位遅れることがあるので、マージンを取って2週間とか。
■古いファイルを探して出してくれるツール
やっと本題ですが、古いファイルを探し出すツールは、Windows7以前は、自分でツールを作ってました。ある特定の条件を満たすファイルを探し出すように、全フォルダを総なめして、その結果をパラメータで指定したコマンドに与えるようなツール。Windows7 以降は、このコマンドが使えるようになったので、不要になりましたが。
forfiles
使い方はいたって簡単で、
forfiles /d -4 /c "cmd /c del @file"
ってやっていやると、現在のフォルダから 4 日以上変更されていないファイルを探し出して削除してくれます。
フォルダの同期・バックアップ方法4:FireFileCopyを使って履歴バックアップする
で書いたように、ffc.exe を使うと、古いファイルは別名(私の環境設定では、_sync(日付) をファイル名に追加)して保存されているので、c:\usr\@backup (私の全てのファイルがバックアップされているフォルダ)で、これを検索しやるには
forfiles /d -120 /p c:\usr\@backup /m *_sync*.txt /c "cmd /c del @path"
で120日(約3ヶ月)以上前の履歴ファイルだけ削除してくれます。
■forfiles の使い方
forfiles コマンドの使い方は、☆――――――――――――――――――――――――――
C:\>forfiles /?
FORFILES [/P パス名] [/M 検索マスク] [/S]
[/C コマンド] [/D [+ | -] yyyy/MM/dd | dd]
説明:
ファイル (または、ファイルのセット) を選んで、そのファイル上のコマンドを実行します。これはバッチ ジョブの使用に便利です。
パラメータ一覧:
/P パス名 検索を開始するパスを示します。
既定のフォルダーは現在実行中の
ディレクトリ (.) です。
――――――――――――――――――――――――――☆
詳細は次回につづく。