--- lang: ja-jp breaks: true --- # cmd 処理時間を表示 2021-06-19 ```shell= @echo off :Main call :GetStartTime rem ----------------------------------------------------- rem ここに時間がかかる処理を記述 rem ----------------------------------------------------- set RET=%ERRORLEVEL% call :GetEndTime call :PutTime if %RET% gtr 0 ( echo エラー発生!! pause ) else ( TIMEOUT /T 5 ) exit :GetStartTime rem 開始時刻の取得 set T=%TIME: =0% set H=%T:~0,2% set M=%T:~3,2% set S=%T:~6,2% set C=%T:~9,2% rem 先頭が0の数値が8進数として扱われないようにするための処理 set /a H=1%H%-100,M=1%M%-100,S=1%S%-100,C=1%C%-100 exit /b 0 :GetEndTime rem 終了時刻の取得 set T1=%TIME: =0% set H1=%T1:~0,2% set M1=%T1:~3,2% set S1=%T1:~6,2% set C1=%T1:~9,2% rem 先頭が0の数値が8進数として扱われないようにするための処理 set /a H1=1%H1%-100,M1=1%M1%-100,S1=1%S1%-100,C1=1%C1%-100 rem 処理時間の計算 set /a H2=H1-H,M2=M1-M if %M2% LSS 0 set /a H2=H2-1,M2=M2+60 set /a S2=S1-S if %S2% LSS 0 set /a M2=M2-1,S2=S2+60 set /a C2=C1-C if %C2% LSS 0 set /a S2=S2-1,C2=C2+100 if %C2% LSS 10 set C2=0%C2% exit /b 0 :PutTime rem 開始・終了時刻と処理時間の表示 rem Hが時、Mが分、Sが秒、Cがコンマ以下2桁秒 rem 処理時間表示は適宜必要な単位のみ残して削除可 echo. rem echo 開始時刻:%T% rem echo 終了時刻:%T1% echo 処理時間:%H2%h %M2%m %S2%.%C2%s exit /b 0 ``` ###### tags: `cmd` `処理時間`