• ベストアンサー

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

  • DOSコマンドでの日付選択ファイル削除

    DOSのファイル削除コマンド(DELあるいはERASE)にファイル更新日付による選択オプションを与えるようなことはできないのでしょうか。 一定期間以上前のLogファイルや一時保存ファイル等を定期的に自動削除していくタスクスケジュールを組みたいのです。具体的には、特定フォルダ内の、例えば1ヶ月以上前に更新されたファイルのみ指定して削除するDOSコマンドオプションがあれば、これを使ったバッチプログラムファイルを作り、それをタスクスケジューラで定期的に実行する形式にしたいと考えています。 もしDOSコマンドによる方法が不可能な場合、他に簡単でいい方法があったらご教示いただければ助かります。

  • DOSコマンドの削除で・・・

    DOSコマンドを使って、指定ファイルの削除バッチを作成し、タスク管理で自動実行しようと試みたのですが、DOS窓でy/nの返答を返さないと先に進まず自動的に実行が出来ません。 いい方法があれば教えてください。

  • DOSコマンドで指定日数よりも過去のフォルダを削除

    サーバ上のログファイルを日毎に次のようなフォルダにまとめて管理しています。 (ログフォルダは翌朝のDOSバッチジョブでBACKUP_(処理日付)のフォルダを作成してその下に*.*指定で全てのファイル(除 フォルダ)を移動して作成します。) 例. BACKUP_20041130 BACKUP_20041129 BACKUP_20041128    ・    ・    ・ BACKUP_20040311 BACKUP_20040310 このフォルダを処理日付から数えて90日より古いものを削除するDOSコマンドバッチファイル(日次実行)を作成したいです。 プログラムを作成すればこれを実現するのは可能なんですが、なんとかDOSコマンドだけでこの仕組を作りこめないものでしょうか? ご存知の方がいらっしゃったら教えて下さい。

  • windows2000のDOSコマンドでテキストファイル形式のファイル

    windows2000のDOSコマンドでテキストファイル形式のファイルの記載内容を変更したいです。 Windows2000のDOSコマンドの問合せです。 日付がパラメータとしてセットされているテキストファイル(datepra.txt)があります。 このテキストファイルのパラメータとしてセットされている日付は、データベースの抽出条件としてfrom、toの2つの日付を指定おり、30行目と31行目に記載されてます。 この日付は今まで手動で毎月更新してたんですが、毎日更新したいと思います。 パラメータのfromは今日(毎日更新)、toは今日から1週間後の日付をバッチファイル(.bat)を作成し、日付を取得して、パラメータとしてセットされている30行目と31行目の日付を更新する方法をご教授いただきたく思います。 datepra.txt 中略 # 30行目 db_fromDate=2010/03/19 db_toDate=2010/03/16 中略 # 30行目までは、いろんなパラメータがセットされております。

  • DOSコマンド フォルダ内のファイル名

    指定したフォルダの中にある、ファイル名をフルパスでtxtファイルで出力できるDOSコマンドは何でしょうか。かなり前に使用したのですが、忘れてしまいました。宜しくお願い致します。

  • テキストファイル連結のDOSコマンドについて

    テキストファイル連結のDOSコマンドについて あるフォルダに下記の様なテキストファイル群があります a.txt、b.txt、c.txt、d.txt・・・・ これらをすべて連結するには copy *.txt all.txt とすればいいのですが、一つ一つのファイルの区切りに目に「■■■■■■■■■■■■■■■」のような区切り文字を入れたいのですが何らかの方法はありますでしょうか?

  • DOSコマンド(バッチファイル)の記述方法について

    Webサイトで、掲示板のログを定期的にFTPダウンロードして管理する運用を考えています。 DOSのFTPコマンドでダウンロードして、タスクで定時実行する所まで、できたのですが、いつも決まった場所にダウンロードするため、データが毎回上書きされてしまいます。 それで、FTPダウンロードの直前に、DOSコマンド(バッチファイル)で別フォルダを作ってデータを退避させるようにしたいのです。 もしできれば『2006_02_20_16_00』など、バッチファイル実行時の日時(年月日、時刻まで)が分かるようなフォルダ名にしたいです。 そんな事できるのでしょうか? DOSコマンドに詳しくないので、分かる方教えてください。 ダウンロードするフォルダは、『c:\Backup\』だとして、書き方の例を教えてください。 よろしくお願いします。

  • DOS findコマンドのバッチでストールする

    DOSコマンドプロンプトで.batファイルを作成。 内容は find "2007:01" access_log_2007_04_11.txt >log2007041101.csv このバッチファイルを、検索するaccess_log_2007_04_11.txt と同じフォルダー上において、ダブルクリックで起動すると。 コマンドプロンプトが開くのだが、以前実行した、 find "2007:00" access_log_2007_04_05.txt >log2007040500.csv が、延々と実行され。 コマンドプロンプトを閉じても log2007040500.csv を、消しても消しても、作成される。 システムを落とすしかなくなる。のです。 4月の頭では正しく動作していたんですが???

  • 連番のファイルをDOSコマンドで

    DOSコマンドを利用し、バッチ処理でタスクスケジューラーにて、定期的に、テキストファイルへリダイレクトするのですが、ファイルネームを連番で生成してくれる、コマンド(構文?)をご教授下さい。 例:ipconfig >***.txt (***の部分を連番)

  • DOSコマンドについて

    ご教授お願いします。 Windows Server 2003において、 DOSコマンドによるバッチを作成するにあたり ファイルを圧縮する設定/方法を教えて頂けないでしょうか? 恐れ入りますが、宜しくお願いします。