指定日数以上前のファイルを削除したい。Windows

2014年11月14日金曜日

PC

t f B! P L

毎日情報がたまる作業をしていると、一定期間以上古いものは削除したい場合があります。

例えばこんなファイルがあるとします

まずは抽出

forfiles /p e:\ScreenShot /m *.png /d -10

  • フォルダ名の指定は /p 。 ここではフォルダ名 E:\ScreenShot
  • ファイル名のフィルタは /m。 ここでは *.png として拡張子pngだけを対象に。
  • 対象の日は /d。 ここでは -10 として10日前まで(今日を含めての10日間より前)

これで抽出すると

となり、意図通り11/4より古いpngだけが抽出されています。 11/14現在。

抽出結果から削除操作

forfiles /p e:\ScreenShot /m *.png /d -10 /c "cmd /c del @file"

上の抽出操作の後ろに、 /c "cmd /c del @file" を付け加えたもの。

  • /c でコマンド実行指定。 
  • ””内の cmd /c は内部コマンドを指定する定型文。 内部コマンドはここでは del
  • @fileは抽出したファイル名を表す変数

実行すると

抽出したファイルが、削除されています。

一行で済むので手軽で便利です。

参考

スポンサーリンク

このブログを検索

QooQ