Windowsでのバッチにて、バッチの実行時間を測定したい場合があります。
そんな時に、 バッチでの実装方法をここにメモとして記載したいと思います。
前提条件
- Windows XP 32ビット
実装プログラム
実装プログラムは以下になります。 rem SET T=%TIME:/=%
SET T=%TIME: =0%
SET H=%T:~0,2%
SET M=%T:~3,2%
SET S=%T:~6,2%
rem --8進対策
set /a H=1%H%-100
set /a M=1%M%-100
set /a S=1%S%-100
rem --何らかの処理
ping localhost -n 10 > nul
SET T1=%TIME: =0%
SET H1=%T1:~0,2%
SET M1=%T1:~3,2%
SET S1=%T1:~6,2%
rem --8進対策
set /a H1=1%H1%-100
set /a M1=1%M1%-100
set /a S1=1%S1%-100
rem --終了時間の計算
SET /a H2=H1-H
SET /a M2=M1-M
if %M2% LSS 0 set /a H2=H2-1
if %M2% LSS 0 set /a M2=M2+60
SET /a S2=S1-S
if %S2% LSS 0 set /a M2=M2-1
if %S2% LSS 0 set /a S2=S2+60
echo 開始時間:%T%
echo 終了時間:%T1%
echo 経過時間:%H2%:%M2%:%S2%
pause
尚、実行結果は以下のような感じになる。
| Windowsのバッチでの経過時間の計測方法のサンプルの結果画面 |


0 コメント:
コメントを投稿