- - PR -
eventquery.vbs を使って一ヶ月ごとのログファイルを自動的に作成したい
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-29 10:13
サンプル・バッチの1行目
@echo off を削除するなり、コメントアウトするなりして実行すると 何をしてるか分かりやすいと思いますよ。 あと、ddにセットするのは0でもいいんじゃないか?というのは 私も思ってました。 きっと、著者さんの趣味じゃないでしょうか。 | ||||||||||||||||
|
投稿日時: 2006-06-29 10:54
ぽてCCP 様
ご返信ありがとうございます。 こんぴです。 ※次ページにページが進んでいるのに気づかなかったため、 ※ご返信が遅くなりました。
デバッグするのに echo off を解除するのを忘れていました。 ご助言ありがとうございます。
やはりそうですか。 なにか特別な意味があるかと考えていました。 まだ、実現したいことは試している最中ですが、 やはり %% の意味がわかりません。 set /a としていることと % の記号から 除算 しているのでは?と予想されるのですが、 %% とした場合、なにを計算しているのでしょうか。 ご存知であれば教えて頂けると幸いです。 また、先に質問させて頂いた中で、 私が試した結果を以下に転記します。 -- 以下 抜粋 ----------------------------------- rem 1日前の日付を計算する if %dd%==09 set dd=9& rem avoid 09 if %dd%==08 set dd=8& rem avoid 08 -- 以上 ---------------------------------------- がありましたが、 「dd=9&」を「dd=9」として実行したところ、 以下のようになりました。 ※一部プログラム内容を追記し、 ※確認のため echo している部分があります。 --- 以下 ---------------------------------------- >test03.bat dd: 09 mm: 09 REM の使い方が誤っています。 >test03.bat dd: 09 mm: 09 "Datetime eq 08/01/06,12:00:00AM-08/08/06,11:59:59PM" -- 以上 ---------------------------------------- ue 様から教えて頂いたとおり、 どうも、「&」がないと、rem を if文の記述として みるようだということがわかりました。 ありがとうございました。 | ||||||||||||||||
|
投稿日時: 2006-06-29 13:54
ueです。こんにちは。
コマンドとコメントを一行に納めるためのアンパサンドだったんですね。 コメント用に専用の行を確保する発想しかなかったので勉強になりました。
%% は、関数電卓で云うところの Mod です。
この場合、%yy% を 4 で割った「余り」が ymod に代入されます。 % が2つ重なっているのは、算術演算子として認識させるためです。 重ねずに使用すると、ヘルプに記載の通り、演算子のつもりで書いた % が 0 に変換されてしまいます。 [ メッセージ編集済み 編集者: ue 編集日時 2006-06-29 13:55 ] | ||||||||||||||||
|
投稿日時: 2006-06-29 18:33
ue 様、ぽてCCP 様
お世話になっています。 こんぴです。
なるほど。良く分かりました。 ここでうるう年の計算をしているのはわかっていたのですが、 set /? の内容を読んでも理解できないところがあり、 ue 様のフォローで意味がわかりました。 ありがとうございます。 さて、肝心のバッチですが、 現在も作成途中ではあります。 しかし、ue 様、ぽてCCP様のご助力のおかげで、 「それっぽいもの」を バッチで作成することができました。 本当にありがとうございました。 Unix系のシェルスクリプトと Windows のバッチ・VBScript では、 扱い方にかなり差異があり、 かなり苦労している状況です。 また機会がありましたら、 よろしくお願い致します。 |