[решено] подсчет времени выполнения командного файла
Не пойму как совершать вычисления с дробными числами, если записываю числа с запятой то ответ не тот, если с точкой, то пишет отсутствует оператор.
|
mitiya, никак - батники работают только с целыми величинами... собственно, какая нужда?
|
да хотел посчитать время выполнения батника. время от тоже вычитать правильно не хочет, думал руками написать что куда.
|
Цитата:
Цитата mitiya
хотел посчитать время выполнения батника »
|
типа такого?
Код:
@Echo Off
Echo Скрипт выполняется, ждите...
Call :SaveTime
Ping -n 5 127.0.0.1 >Nul
Call :DiffTime
Echo Время выполнения %DiffTime% секунд
Echo.
Pause
Exit
:SaveTime
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $D0=%$Time:~6,2%
Set $H0=%$Time:~8,2%
Set $N0=%$Time:~10,2%
Set $S0=%$Time:~12,2%
GoTo :EOF
:DiffTime
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $D1=%$Time:~6,2%
Set $H1=%$Time:~8,2%
Set $N1=%$Time:~10,2%
Set $S1=%$Time:~12,2%
Set DiffTime=-1
If %$D1% EQU %$D0% Set /A DiffTime=%$S1%+(%$N1%*60)+(%$H1%*3600)-(%$H0%*3600)-(%$N0%*60)-%$S0%
GoTo :EOF
P.S. Можно и без WMI, через DATE/TIME - принцип одинаков
|
Я вот так сделал:
Код:
@echo off
call :TimeCountBegin
ping -n 5 localhost
call :TimeCountEnd
pause
exit
:TimeCountBegin
set begin_HH=1%time:~0,2%
set /a begin_HH=%begin_HH%-100
set begin_MM=1%time:~3,2%
set /a begin_MM=%begin_MM%-100
set begin_SS=1%time:~6,2%
set /a begin_SS=%begin_SS%-100
goto :EOF
:TimeCountEnd
set end_HH=1%time:~0,2%
set /a end_HH=%end_HH%-100
set end_MM=1%time:~3,2%
set /a end_MM=%end_MM%-100
set end_SS=1%time:~6,2%
set /a end_SS=%end_SS%-100
set /a begin=(%begin_HH%*3600)+(%begin_MM%*60)+%begin_SS%
set /a end=(%end_HH%*3600)+(%end_MM%*60)+%end_SS%
set /a worktime=%end%-%begin%
set /a worktime_MM=%worktime%/60
set /a worktime_SS=%worktime%-%worktime_MM%*60
if %errorlevel%==0 echo. && echo Время обработки %worktime_MM% минут %worktime_SS% секунд.
goto :EOF
|
Цитата:
Цитата mitiya
да хотел посчитать время выполнения батника. время от тоже вычитать правильно не хочет, думал руками написать что куда. »
|
я для этого написал утилитку timemer.exe http://forum.oszone.net/post-2275768-8.html
|
Время: 02:54.
© OSzone.net 2001-