久しぶりに投稿してみる。
最後に投稿して以来、仕事ではCとJAVAを併用して、今年に入ってからはPHPをごにょごにょしてたんだけど、今度はAccessになりそう。
で、少し前に居た常駐先で使ってたバッチを、自分の会社でも使おうとしたら、動かなくて…
このテの会社って出勤、退社時間って、自己管理なことが多い。
だけど、毎日Excelにぽちぽち入れてくのって、面倒だし、忘れるんだよね。
ってことで、週末なんかにまとめて入力するんだけど…
そういうときって、PCの起動時間を確認することが多い。
[スタート]→[設定]→[コントロールパネル]→[管理ツール]→[イベントビューア]
システムからeventlogの開始と終了を確認するんだけど、ま、面倒だよね。
なので、バッチを作ってみた。
検索部分だけピックアップすると、こんなイメージ。
CSCRIPT //H:CSCRIPT //S //NOLOGO
:
EVENTQUERY /FI "ID eq 6005" /FI "Datetime eq %MM%/%DD%/%YYYY%,12:00:00AM-%MM%/%DD%/%YYYY%,11:59:00PM" /L SYSTEM | GREP 6005>> log.txt
EVENTQUERY /FI "ID eq 6006" /FI "Datetime eq %MM%/%DD%/%YYYY%,12:00:00AM-%MM%/%DD%/%YYYY%,11:59:00PM" /L SYSTEM | GREP 6006>> log.txt
:
ID6005はeventlogの起動、6006は停止のID。
勿論、%YYYY%とかは、変数で設定させるんだけど…
出力結果にはヘッダ部分があるので、log.txtにはGREPで必要な行だけ落としてる。
でもCygwinとか入れないと、GREPは使えないので…
あとはFORとかでまわして、時刻だけ抜き出したりして、整形すればOK。
でも、常駐先の環境ではこれで動いたんだけど、自社に戻ったら、動かない。
CSCRIPT //H:CSCRIPT //S //NOLOGO
してるけど、CSCRIPTで動かせ!とダイアログが表示される。仕方なく、
CSCRIPT C:\WINDOWS\SYSTEM32\EVENTQUERY.vbs
に書き換え。なんだろう?
0 コメント:
::コメントを投稿する::