batでsample.logから1行拾い時刻をvbsに渡して差分(秒)を求めさせて表示をするものですが
vbsに値を渡す際に小数点を切り捨てる形で渡しています。
(小数点が入っているとうまく計算できなかったためです)
しかしfor文で回して1行ずつ時刻部分のみを渡しているのですが、sample.bat内のvbsに渡す時刻が最初に取得した時刻で固定になります。
SET HIS~という部分が切り替わっていないのだと思いますが、なぜ切り替わらないのでしょうか?
sample.log
2018/01/08 01:10:10.012 INFO [AdAutoSyncScheduler-thread-1] [] [Start] 2018/01/08 02:20:20.012 INFO [AdAutoSyncScheduler-thread-1] [] [Start]
sample.vbs
'現時刻取得 strDate1 = Now '引数時刻取得 Dim oParam Dim logParam logParam = Wscript.Arguments(0) oParam = DateDiff("s",logParam,strDate1) '引数時刻 - 現時刻の差分(秒)を返す Wscript.Quit( oParam )
sample.bat
for /f "tokens=1-9" %%a in (sample.log) do ( SET HIS=%%b SET HIS2=%HIS:~0,8% sample.vbs "%%a %HIS2%" echo %ERRORLEVEL% )
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/08 15:00