• ベストアンサー

バッチ処理でファイルの削除

よろしく願いします。 特定のフォルダ内にあるファイル(pdf)を自動で削除するバッチを作りたいと思っています。 ファイルは20090507161506900.pdfみたいに頭に年月日が入っています。 削除条件として、30日前のものだけ削除したいです。 実行は、Windowsのタスク処理でやろうとしています。 どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

ちょうど30日前のファイル名のものだけ消すのなら、 echo WScript.Echo DateAdd("d",-30,Date()) > tmp.vbs for /f "tokens=1-3 delims=/-" %%A in ('cscript //nologo tmp.vbs') do set DAY=%%A%%B%%C del tmp.vbs del %DAY%*.pdf 30日以前のものを消すなら、最後のdelの所を for %%F in (*.pdf) do if %%F leq %DAY% del %%F

その他の回答 (1)

回答No.1

Windows なら VBS(VB Script)でやれば簡単でしょう。 現在日付を取得して30日前を計算する それがたとえば 2009/4/10 だったとしたら ファイル名が 20090410*.pdf に合致するファイルを削除する…。 ところで「30日前のものだけ」だけなんですよね? 31日前、32日前、それ以前の物は消さないということ?

関連するQ&A