毎日情報がたまる作業をしていると、一定期間以上古いものは削除したい場合があります。
例えばこんなファイルがあるとします
まずは抽出
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は抽出したファイル名を表す変数
実行すると
抽出したファイルが、削除されています。
一行で済むので手軽で便利です。