• 締切済み

バッチやVBSの動作について

Windows2003 Serer上で 週一回、ログファイルが溜まる ディレクトリがあります。 ディレクトリ名はYYYYMMDD となっています。 毎週1回、ディレクトリが作成されるため、古いものから順番に 自動で削除を行いたい為、 バッチか何かをタスクスケジュールで週一度、自動に動かすことを考えています。 バッチ、もしくはvbsはどのようなものを作成すれば宜しいでしょうか。当方、まったく初心者の為、そのままを 説明と共に頂ければとてつもなくありがたいです。 宜しくお願い致します。

みんなの回答

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.2

バッチの例です。 dir コマンドを使うと新しい順にフォルダのみを表示することが出来ます。 dir /o-d /a:d /b この出力結果をfor文で取り込んでrdコマンドでフォルダ削除するようにします。 1行目のfor文で複数行ある出力結果の最後の行(=一番古いフォルダ名)が環境変数 folder に代入されます。2行目がrdコマンドで削除しているところです。 --------------------------------------- sample.bat for /F "delims=" %%f in ('dir /o-d /a:d /b') do set folder="%%f" rd /s /q %folder%

XXmaimaiX
質問者

お礼

ありがとうございます! 同じようなバッチで何とかなりました!

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • eventquery.vbsとバッチの使い方について教えて下さい。

    初めての投稿致します。 よろしくお願いします。 現在Windows2003 Server SP2 R2(ENG)の環境のサーバーのイベントログを取得したいと思っており、eventquery.vbsを使用してバッチを作成しているのですが、下記点が突破できずにいます。 どのように改善したらよいか教えて頂けますでしょうか? やりたいこと ・月曜日に実行するときには金曜日、土曜日、日曜日分のイベント(エラー、警告)を取得したい。 ・火曜日、水曜日、木曜日、金曜日は1日前のイベントを取得したい。 現在は単純に全てのイベント(エラー、警告)を取得する。だけのバッチファイルしか作成出来ておりません。 下記のようなバッチです。 ------------------------------------------------------------ @echo on @REM ------------------------------- 日時 SET YYYYMMDD=%date:~-10,4%%date:~-5,2%%date:~-2,2% SET HHMM=%time:~0,2%%time:~3,2% SET FNAME=%YYYYMMDD: =%_%HHMM: =0% @REM ------------------------------- ホスト/出力先、出力ログファイル SET VBSP=c:\windows\system32\eventquery.vbs SET H1=server1 SET LOG=C:\command\%FNAME%_Event_log.csv @REM ------------------------------- 実行日時 @echo %date% %Time:~0,5% に実行しました。> %LOG% @REM ------------------------------- server1出力結果 cscript %VBSP% /s %H1% /fi "type eq warning" /l system /fo csv /v >> %LOG% cscript %VBSP% /s %H1% /fi "type eq Error" /l system /fo csv /v >> %LOG% cscript %VBSP% /s %H1% /fi "type eq warning" /l application /fo csv /v >> %LOG% cscript %VBSP% /s %H1% /fi "type eq Error" /l application /fo csv /v >> %LOG% どのようにすればよいのでしょうか? お手数ですが、ご教授お願い致します。

  • ディレクトリおよびファイルを作成する方法について(MS-DOSバッチ、vbs等)

    Windows Server 2003 についての質問です。 もしご存知でしたら、ヒントだけでもご教示願えますでしょうか。 目的  ・あるツールの評価をするため、多数のディレクトリ   とファイルを作成する必要があります。   これを手動で実行することは時間的に無理があるため、   MS-DOSによるバッチやvbs等スクリプトによる自動化を   したいと思っております。 やりたいこと  ・例えば、下記のような階層構造でフォルダおよびファイルを   作成するバッチを作成したいです。   c:\フォルダ1\フォルダ2\フォルダ3\フォルダ4\フォルダ5\フォルダ6 各階層のフォルダ配下にもサブフォルダとファイルを多数存在させます。   ファイルサイズは固定です。   フォルダ、ファイルの名前は単純なもので構いませんが、   番号を振りたいです。   方法としては、まずは元になるファイルを作成しておき、   あとはforコマンドでディレクトリを作成してファイルを   コピーしていけば良いと思っておりますが、実際に   どのようにMS-DOSバッチ化(もしくはvbsスクリプト化)   すれば良いか不明です。 お手数ですが、どうぞご教示のほど宜しくお願い致します。

  • 現在時刻を取得してファイル名にする

    いつもお世話になっています。 コマンドプロンプトから処理を実行し、その結果をログファイルとして残すバッチファイルを作成しています。 ログファイルを日付で管理したいので、ファイル名を "バッチファイル名_yyyymmdd.LOG"としたいのですが この"yyyymmdd"の部分で詰まってしまいました。 set NowDate=%date% set FileName=C:\temp\sample_%NowDate% としてみましたが、NowDateが"月 2003/07/28"となり、"/"のために ファイルが作成されませんでした。 %time%も":"が入ってしまうため、同様に作成されません。 バッチファイル内でyyyymmddを毎回記述し直せば楽なのでしょうが、 最終的にはタスクスケジュールに入れてしまいたいのでそれもできません。 どうしたら現在日をファイル名にすることができるのでしょうか? 御存知の方、教えてください。

  • バッチでの応答キー記載方法

    しょうも無い質問で申し訳ないです^^; 下記バッチファイルを実行しバックアップのタスクを作成しているのですが、実行中、 『E:\ggg\061014は受け取り側のファイル名ですか、またはディレクトリ名ですか(F= ファイル、D= ディレクトリ)?』 と表示されるところで止まってしまいます。 ここでは"D"を入力して先へ進むようにするようにするにはどうしたら良いのでしょうか? またなぜかデスクトップに日付名フォルダが出来てしまいます。(中身は空です)それもできないようにしたいのですが、どこが間違っているのかわかりません。ご教授願います。 <バッチファイル> set ymdtmp=%DATE:/=% set yyyymmdd=%ymdtmp:~2% cd e:\aaa md %yyyymmdd% xcopy /s /e /v c:\ddd\eee\*.* e:\ggg\%yyyymmdd%

  • バッチファイルの作り方

    バッチファイルを作成したいです。 内容はファイルサーバ内にあるExcelファイルを開くというものです。アクセス権はあります。 そのバッチファイルをその後にスケジュール化して自動で月一回自動で動かそうと思います。 どなたかお願いします。また参考になるHPなんかもありましたらお願いします。

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

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

  • バッチファイルからメール作成&自動送信

    できるかわからないのですが、バッチファイルを作成して、それをタスクで自動起動しています。その起動結果をログファイルとして残し、そのログファイルをタスクが正常終了した時のみ、タスクを設定しているマシーンにメールで、添付なりリンクをはるなりして、送付したようなシステムを構築したいと思っています。それをバッチファイルに組み込みたいと思っているのですが、実現可能でしょうか?ちなみに、バッチファイルの内容は、db2コマンドの実行及びjavaファイルの実行です。 環境はwin2000です。

  • このバッチは間違いないでしょうか?

    システムの運用をしていますが、タスクでバッチを定期的に起動して、ツールを自動運用するようにしたいのですが、以下のようなバッチを作りました。 =========================== D: CD D:\aaa\bbb\ccc dataBackup.wsf cscript ”data 退避.vbs” =========================== このバッチについて質問ですが、 ・「cscript」というのは、どこかのサイトに書いてあってのを参照してコピーして書いてみたら動いたので書かないといけないのだなぁ という位の認識なのですが、vbsファイルを起動するときは、「cscript」と記述する必要がある、というのは間違いないでしょうか? ・テストしたサーバではたまたま動きましたが、cscriptは、何かアプリやコンポーネントが入っていないと動かないのでしょうか?つまり、買ったばかりのパソコンで、cscript ”data 退避.vbs”で動かすためには何かアプリ等を入れる必要があるのでしょうか? ・「cscript ”data 退避.vbs”」が「cscript data 退避.vbs」だと、 ファイル名にスペースが入っていてうまく動かなかったため、 cscript data 退避.vbs を””等で起動するファイルを指定して cscript ”data 退避.vbs” としたのですが、問題ないでしょうか? 調べればすむ話なのですが、急いでいるため質問することにしました。初心者的な質問恐縮ですが、よろしくお願いいたします。

  • バックアップ(世代管理)機能のバッチファイルを作成したい

    バッチでバックアップファイルを作成したいです。 機能は下記のとおりです。  ・バックアップを毎営業日(平日)とる  ・3世代保存する  ・バックアップ処理成功後、最も古いバックアップを削除する まず、システム日付を取得して、YYYYMMDDフォルダを作成し、その配下に保存したいのです。 でもYYYYMMDDフォルダの作成方法がわかりません。 次に、システム日付より3日以上古い日付を見つけて、該当するものがあったら削除するようにしたいです。 書籍やこのサイトでいろいろ調べているのですが、わからなくて・・・。 このサイトではバッチではシステム日付YYYYMMDDでディレクトリを作成することは出来ない・・・という回答がありましたが、やはり不可能なのでしょうか? ご回答いただきたくよろしくお願いします。

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

    WindowsXPで下記の条件のバッチファイルを作成したいと思っています。 バッチファイルはタスクで動作させ日次で実行する予定です。 ・特定フォルダ内の3日前のファイルを全て削除 ・特定フォルダ内に1日あたり50ファイル程度が新規に作成されていく。 ・ファイル名称はyyyymmdd….txt お手数ですがどなたかご教授頂けますと助かります。 よろしくお願い致します。