一定期間経過したファイルを削除するバッチファイル

Windowsのファイルサーバーで、たとえば複合機でPDFスキャンしたファイルをためている場合に、スキャンした人がそのファイルをサーバー上から削除せずに残りっぱなしの場合があります。
このようなファイルを定期的に削除するためにバッチファイルを作成してみましょう。

必要なこと

  • ?日前のファイルを削除するバッチファイル
  • 上記バッチファイルを定期的に実行するタイマースケジュール

バッチファイルを作る

ファイルサーバーの D:\PDF などを共有してて、複合機からPDFファイルが出力されていることを前提とします。
以下のようなバッチファイルを作りましょう

forfiles /P d:\PDF /S /D -7 /C “cmd /c del /F /S /Q d:\PDF\@file”

forfiles コマンドを使って検索されたファイルに対して、引数 /C で指定したコマンドを実行しています。
日付は /D で指定します。1週間前だと -7 を指定します。
forfiles や del コマンドの詳細についてはヘルプを確認してください。

タスクスケジューラに登録する

コントロールパネルのタスクスケジューラの基本タスクで登録します。
taskschedule1(タスクスケジューラの登録については各自調べてください^^;)

ちなみに、私はバッチファイルなどは、 d:\Scripts\[スクリプト名] のようなフォルダを作ってそこにすべて保存しています。
ログファイルを出力する場合は、d:\Logs\[スクリプト名] のようなフォルダを作成してそこに出力しています。
「スケジューラに登録しているバッチファイル一覧」みたいな管理表は基本的に作りません。そのExcel表に登録漏れがあって実際に稼働している定期的なタスクとかあったらトラブルの元なので、都度タスクスケジューラを見るようにするのもひとつの手法かと思います。(管理規模が多くなるとそうは言えないと思いますが^^;)
管理するときにフォルダにまとめておけば、引継ぎの時も分かりやすいかと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です