• ベストアンサー

apache ant で、n日以上前に作成したファイルのみを削除したい

apache ant で、n日以上前に作成したファイルのみを削除したいのですが、どうしたらよいですか? (ちなみに、ファイル名にも日付を入れてあります。)

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

deleteタスクでFileSetのセレクタにdateセレクタを使います。 例) ---------------------------------------------------- <tstamp> <format property="3days.ago" pattern="MM/dd/yyyy hh:mm aa" locale="en" offset="-3" unit="day"/> </tstamp> <delete taskname="Delete old file"> <fileset dir="./hoge"> <include name="*.txt" /> <date datetime="${3days.ago}" when="before"/> </fileset> </delete> ------------------------------------------------------- http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/CoreTasks/delete.html http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/CoreTasks/tstamp.html http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/CoreTypes/selectors.html#dateselect

参考URL:
http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/
ocyaduke
質問者

お礼

ばっちり出来ました♪ filesetのネストにdateがあるのを知りませんでした。 あと、timestamp の locale を 'en' にする辺りがミソなんですね。 ありがとうございました。

関連するQ&A