• 締切済み

Windowsで、古いログファイルを削除するバッチを作成したいです。

Windows2003システムで、ある1つのディレクトリの中で一定期間を経過した古いログファイルを削除するようなバッチを急遽作ることになりました。でも、バッチファイルの作成の経験がなく苦戦しています。。 フリーのツール等は使用不可で、なんとかバッチで作りたいのですが、どなたか助けてください(>_<) ちなみに、ファイル名はこのような形です。 abc20071106.log abc20071107.log... 同じディレクトリ内には、上記ファイル以外のファイルも存在します。

みんなの回答

  • kusa_mochi
  • ベストアンサー率76% (1599/2089)
回答No.1

Windows Scripting Host(通称WSH)が使えるなら、それほど難しくはないと思うが、問題は使えない場合だろう。 ログファイルなので、一定期間経ったものを削除したいという要望なのだと思うが、純粋なバッチコマンドでそれを行うのはちょっと厳しいと思う。 (一定期間経ったかの判定部分が) という訳で、以下のURLのようなのはどうだろうか。  【直近のxx個を残してそれ以外を消すバッチファイル】   http://kumasoft.org/devmemo/batchfile

lilly83
質問者

お礼

なるほど、これなら直近の30個を残すようにすれば出来そうですね。 ありがとうございます。さっそくやってみます!

関連するQ&A

  • バッチファイルの作成方法

    バッチファイルの初心者です。 下記のようなバッチを作成したいと思っています。 (1)本日の日付のディレクトリを作成する。 (2)そのディレクトリに数時間毎に作成される***.logを全て移動する。 (3)3日前に作成したディレクトリを削除する。 以上のような流れのバッチファイルは簡単に作成できるのでしょうか?

  • スタートアップのファイルをバッチで削除

    windows2008のターミナルサービスでスタートアップにバッチファイルを設置していますが、 初回起動のみを動作させるために、 バッチ内にバッチファイルを削除する記述をしていますが、 動作ディレクトリがc:\windows\system32なので、 スタートアップのファイルは削除できません。 スタートアップのファイルをバッチで削除する方法はあるのでしょうか? またスタートアップのディレクトリ名の中に ユーザー名が含まれているのですが、 バッチファイル内に記述するのに、 これを別称などで、どのユーザーでも反応するように、する記述方法はあるのでしょうか?

  • 削除バッチ方法を教えてください

    Aフォルダの中のあるファイルのみを残し、他のファイルを削除するバッチorDOSコマンドを教えてください? ログファイルを削除するために上記のような仕様でバッチ作成したいのですが、いろいろと調べていますが、わかりません。 ファイル名を見て削除したいと考えています。 ログのファイル形式は、年日付時刻ABCファイルとなり、当日と前日のログだけを残して、他のログを削除したいのですが、、、 宜しくお願いします。

  • バッチファイル作成について

    いつも参考にさせております。 バッチファイルで指定したディレクトリとそのディレクトリに含まれるサブディレクトリやファイルを全て削除したいと思っております。 例えば… 削除したいフォルダ:binフォルダ、objフォルダ フォルダ構成:C:\Documents and Settings\Kumagai\My Documents\Visual Studio 2005\Projects\WindowsApplication1 WindowsApplication1の直下にサブディレクトリが何個かありその直下にそれぞれbinフォルダ、objフォルダが存在します。 サブディレクトリが10個の場合binフォルダ、objフォルダもそれぞれ10個あるとします。 なおサブディレクトリの数は可変です。 この時、binフォルダとobjフォルダを一遍に削除するにはどのようにバッチファイルに記述すればよろしいのでしょうか? よろしければ教えてください。 環境はWindowXPですが、Vistaにも対応できるとなおうれしいです。

  • Windowsバッチでの作成について困っております。

    当方、大学2年の学生です。 現在履修しています情報系の講義で、連休の課題として 「WindowsのDosバッチ作成」の課題が出ました。 課題の期限は16日(金)です。 課題の内容は、 「ファイルを自動で削除するバッチの作成」です。 あるフォルダにたまったファイルを、月に一回自動削除するもので、 削除対象のファイルは削除日より一年以上経過している全ファイルです。 例えば、削除日が2009年10月10日だとすると、削除対象ファイルは 2008年10月10日以前のファイルになります。 *ファイル名は任意ですが、例えば「Sample20090101.log」のようにしようと思ってます。 また削除した際には、削除したファイル名と日付をログに残します。 ================================ 恐らく大まかな処理の流れとしては、 1.まず、ファルダにあるファイルをリストする。    フォルダはパスを変数で指定し、ファイルはdirを使って表示する形になるのかなと思います。 2.次にその中で削除対象となるファイル(削除日より一年以上経過しているという条件で分岐させる)を検索する。 3.次に、削除対象のファイルを削除する。 4.最後に削除したファイル名と日付のあるログを出力する。 以上のようになるかと思います。   *1~3の処理を一つのバッチで、4のログを出力用にさらにもうひとつバッチをつくろうかと思います。   ネットで検索してみますと、このような処理をDosで作るのは難しい。。。というような意見が多く、 自分もWindowsDosバッチの作成は経験がなく、困っています。 どなたかご教示いただければと存じます。よろしくお願いします。

  • バッチファイルでのファイル削除

    ファイル削除をするバッチファイルを作成しようと思うのですが、わからない部分があるので教えてください。 ファイル削除は del [ファイル名] のコマンドでできることはわかります。 自分がやりたいのはCドライブの中のある特定の文字列(例えば「20110326」など)を含んだファイルを見つけ出し、それを削除するようにしたいです。(Cドライブ直下だけでなく、サブディレクトリなども含めて削除) どのようにすればよいのでしょうか? よろしくお願いします。

  • 【Treeのログが取れる】バッチファイルを作りたい

    お願いがあります。PC操作は不慣れではないですが、言語などは苦手です。 どのフォルダやディレクトリからでも、その階層で実行するとtreeのログが出力できるバッチファイルのソースなど、載っているサイトなどないでしょうか? もちろんソース書いてもいいよって言って下さる方大歓迎です。 いろいろサイトをめぐっては試したのですがうまくいきません。 よろしくお願いします。

  • Windowsのバッチファイルでcallコマンド時にログを残す方法について

    お世話になっております。 Windowsのバッチファイルについての質問です。 Windowsのバッチファイル内で、さらにバッチファイルをcallコマンドに よって、呼び出しているのですが、その呼び出したバッチファイルの logを残したいのですが、実装方法が分かりません。 # UNIXのscriptコマンドのようなコマンドがあれば実装できると # 考えたのですが、存在していないようです。 callコマンドは、リダイレクトorパイプが使えないらしいので、 以下のような記述だとlogを出力することができません。 call test.bat > test.log ご存知の方がいらっしゃいましたら、ご教示下さい。 以上、よろしくお願いいたします。

  • バッチファイルでcsvファイルに追記していきたい

    C:\log\abc のディレクトリの中に、 log.csv log1.csv log2.csv log3.csv.... という複数のファイル(最終番号は絶えず変動する)があり、 それぞれは1行4カラム記載されています。 やりたいことは、バッチファイルにより log.csvのカラム内容 log1.csvのカラム内容 log2.csvのカラム内容 log3.csvのカラム内容 が最終番号のcsvファイルまで1つのlogR.csvに纏まることです。 下記のバッチファイルを組んでみたのですが、 C: CD \log\abc COPY log.csv logR.csv type log1.csv >> logR.csv type log2.csv >> logR.csv type log3.csv >> logR.csv これだと、追記が2行目3行目とならず、1行目の横にずっと広がって追記されてしまいます。 また、バッチファイルの指示が番号指示になってしまいますので、この指示番号から外れた ファイルがあった場合は、書き込みがされなくなります。 やりたいことは、 ●行として追記されること。 ●logの番号.csvを全て自動で読みだして追記することです。 http://okwave.jp/qa/q1371517.html の方法は試したのですが、どうもうまくいきませんでした。 お手数をおかけいたしますが宜しくお願い致します。

  • バッチファイルの作成

    お世話になっております。 バッチファイルの作成方法について、只今勉強中です。 現在、毎日行われている作業をバッチファイルで自動化が出来ないか検討しておりますが、バッチファイルの編集に苦戦していて困っております・・・ ---実行したい事--- 0.以下、作業の流れをコマンドプロンプト上で表示する。 1.C:\ツール\batというフォルダに移動する。 2.batフォルダに新しく「file」というフォルダを作成 3.batフォルダ内には「bat_YYYY/MM/DD.txt」という日付のテキストがあり、該当する日付のテキストをコピーしてfileフォルダへ貼り付ける。 4.fileフォルダへ移動する。 ---終了--- 手順を全部書いてしまっているのですが、途中まではバッチファイルの編集をする事が出来ました。しかし、正解しているか不安です。 ご教授の程、宜しく御願い致します。