[前の記事]« 文字列の指定位置から指定の長さを読み取るには
[次の記事]「テキストファイルの特定行から複数の文字列を抽出して処理実行」を行数分繰り返したい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「FOR /F」索引へ
▲カテゴリー「文字列の操作」索引へ

「イベントログの各行のデータを変数に割り当ててコマンドを実行」をテキストファイルの行数分繰り返したい

1573.
Windows2003でイベントログを取得し・・・
2007年01月05日(金) 13時11分
くま
既出のものから更に上級になる質問と思い。
別スレにさせていただきました。どうぞ宜しくお願いします。

eventqueryのオプション指定で、取得できるのは既出でありましたが、

それを、下記条件で、取得します。
・エラーと、ワーニングの2種
・開始時刻(マシン日付+特定時刻(12:00:00とか))
・終了時刻(マシン日付+別途取得した時刻(READTIMEとします)

これを、1行ずつ読み込み、コマンドのオプションへ挿入し、コマンドを実行したいのです。

そのコマンドをerrmsgとして、
[errmsg application serverty msg_grp object msg_text]
の順に入力します。
例えると
[errmsg OS critical XXX AAA.bat イベントメッセージ内容]
こんな感じです。

これを先ほど言った、1行ずつ処理していきたいのです。
ループ処理になると思いますが、
JAVAとかとは、また違った取得方法になるのでしょうか?

どうぞ、宜しくお願いします。 
1574.
Re:Windows2003でイベントログを取得し・・・
2007年01月05日(金) 13時48分
くま
すみません。投稿したばかりですが、
交渉の結果、仕様を変えることができましたので、
別件で質問します。

イベントログについては、一旦、テキスト出力することで、落ち着きました。

そこで、再度質問なんですが、
テキストから、1行ずつ、且つ、項目別に取得して、
変数とし、コマンドのオプションに乗せ実行し(前記のと同じ方法です)、
テキストの次の行へ繰り返す・・・・
そして、最終行へ来たら、終了するというのは、
どうしたらいいのでしょうか?
前記の質問でも書きましたが、
リファレンスサイトは、あるのですが・・・・

初歩的な質問ばかりですみません。。



>既出のものから更に上級になる質問と思い。
>別スレにさせていただきました。どうぞ宜しくお願いします。
>
>eventqueryのオプション指定で、取得できるのは既出でありましたが、
>
>それを、下記条件で、取得します。
>・エラーと、ワーニングの2種
>・開始時刻(マシン日付+特定時刻(12:00:00とか))
>・終了時刻(マシン日付+別途取得した時刻(READTIMEとします)
>
>これを、1行ずつ読み込み、コマンドのオプションへ挿入し、コマンドを実行したいのです。
>
>そのコマンドをerrmsgとして、
>[errmsg application serverty msg_grp object msg_text]
>の順に入力します。
>例えると
>[errmsg OS critical XXX AAA.bat イベントメッセージ内容]
>こんな感じです。
>
>これを先ほど言った、1行ずつ処理していきたいのです。
>ループ処理になると思いますが、
>JAVAとかとは、また違った取得方法になるのでしょうか?
>
>どうぞ、宜しくお願いします。 


1579.
Re:Windows2003でイベントログを取得し・・・
2007年01月05日(金) 20時33分
otn
>テキストから、1行ずつ、且つ、項目別に取得して、
>変数とし、コマンドのオプションに乗せ実行し(前記のと同じ方法です)、
>テキストの次の行へ繰り返す・・・・
>そして、最終行へ来たら、終了するというのは、
>どうしたらいいのでしょうか?

やりたいことが具体的にもう一つわからないのですが、eventqueryの出力:
 警告          6      2006/12/26 12:09:51      Norton AntiVirus  WATASHI
を項目別に取得したいと言う事であれば、

eventquery オプション > eventlog.txt
for /f "tokens=1-9" %%A in (eventlog.txt) do (
 この中で、項目は%%A、%%B、%%C と順に参照できる
)

上記のようにプログラム名に空白があったり、無かったりしますが、空白で区切られるとそれぞれ別項目と扱われます。そのためプログラム名も取得する必要があるならちょっと厄介ですが、日時までなら簡単です。

1597.
有難う御座います。
2007年01月10日(水) 11時11分
くま
何個かのツリーで、複合してしまいましたが、
なんとか、作り上げることが出来ました。
各位様、共に、お礼いたします。
有難う御座いました。



>>テキストから、1行ずつ、且つ、項目別に取得して、
>>変数とし、コマンドのオプションに乗せ実行し(前記のと同じ方法です)、
>>テキストの次の行へ繰り返す・・・・
>>そして、最終行へ来たら、終了するというのは、
>>どうしたらいいのでしょうか?
>
>やりたいことが具体的にもう一つわからないのですが、eventqueryの出力:
> 警告          6      2006/12/26 12:09:51      Norton AntiVirus  WATASHI
>を項目別に取得したいと言う事であれば、
>
>eventquery オプション > eventlog.txt
>for /f "tokens=1-9" %%A in (eventlog.txt) do (
> この中で、項目は%%A、%%B、%%C と順に参照できる
>)
>
>上記のようにプログラム名に空白があったり、無かったりしますが、空白で区切られるとそれぞれ別項目と扱われます。そのためプログラム名も取得する必要があるならちょっと厄介ですが、日時までなら簡単です。
>


 
 


カテゴリー「FOR /F」索引へ
カテゴリー「文字列の操作」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2007年01月05日 13:29に投稿されたエントリーのページです。

ひとつ前の投稿は「文字列の指定位置から指定の長さを読み取るには」です。

次の投稿は「「テキストファイルの特定行から複数の文字列を抽出して処理実行」を行数分繰り返したい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート