• ベストアンサー

バッチファイルについて

現在、ログ世代管理バッチファイルを作成していますが、 方法は、日付ごとに作成されたログフォルダからシステム日付より365日以降のフォルダを削除するといったものです。 しかしながら、どうしてもフォルダ(日付)の比較方法が上手くいきません。365日前のフォルダを削除する事はできるのですが、365日以降のフォルダの削除ができません。 詳しい方がいましたら、お教えねがえないでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • timber
  • ベストアンサー率29% (218/739)
回答No.3

フォルダ名は数字のみ8桁(yyyymmdd)とします。 rem カレントディレクトリ変更(フルパス指定ではうまくいきませんでした) c: cd temp rem システム日付取得 for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do set sys_date=%%i%%j%%k rem 1年前の日付を取得 set /a cmp_date=sys_date-10000 rem カレントディレクトリ配下の2で始めるディレクトリ名をリストアップ for /D %%f in (2*) do call :sub1 %%f %cmp_date% exit :sub1 set cmp_dir=%1 set ref_dir=%2 if %cmp_dir% LEQ %ref_dir% rmdir %cmp_dir% goto :EOF

yoshio_n
質問者

お礼

ありがとうございました。 思っていることが実現できました。

その他の回答 (2)

  • timber
  • ベストアンサー率29% (218/739)
回答No.2

Win9*系とWinNT系で使えるコマンドが違ってきますので 使用しているOSも教えてください。

yoshio_n
質問者

補足

OSはWin2000またはXPです。

  • epson01
  • ベストアンサー率12% (120/933)
回答No.1

そのバッチファイルを掲載できますか?

yoshio_n
質問者

補足

掲載はご勘弁ください。

関連するQ&A