• ベストアンサー

DOSコマンドで過去日付のついたファイル名のテキストデータを削除

DOSコマンド初心者です。 自動的に、とあるフォルダーに日付+ABC.TXTデータが作成されるのですが、増えるいっぽうで削除は手動でしてます。 自動で何日前分を削除する方法を教えてください。 DOSバッチとタスクスケジュールで出来ないものか考えています。

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

  • ベストアンサー
  • you-m
  • ベストアンサー率58% (190/327)
回答No.1

NT/2000/XPであれば、以下のようなバッチファイルでよいかと思います。 @echo off REM ---------------------------- REM 指定された世代分残して、 REM 古いログを削除する。 REM ---------------------------- setlocal & pushd & set RET= REM ---------------------------- REM 動作設定 REM ---------------------------- REM パス関連設定 SET LOGDIR=D:\APP\LOG REM ログを残す日数 SET LOG_COUNT_LIMIT=3 REM 実行フォルダへの移動 D: CD %LOGDIR% REM ---------------------------- REM メインルーチン呼び出し call :MAIN %* popd & endlocal & set RET=%RET% goto :EOF :MAIN REM ログの削除を行う REM dir のオプションによりソート順は、名前を降順にすることで REM 新しいものから、指定世代分処理をスキップする。 for /f "skip=%LOG_COUNT_LIMIT%" %%a in ('dir /b /o-n *.TXT') do ( del %%a ) goto :EOF

tnk123
質問者

お礼

早速の回答ありがとうございます。 これで、いちいち削除する作業がなくなりました。

関連するQ&A