Подсчитать время выполнения в cmd-скрипте можно разными способами. Один из них - спомощью утилиты из ресурскита timethis.exe
- Timethis (timethis.exe): Это средство командной строки
вычисляет, сколько занимает системы для выполнения команды. Чтобы
загрузить данное средство, щелкните следующую ссылку:http://Download.Microsoft.com/download/win2000platform/timethis/1.00.0.1/NT5/EN-US/timethis_setup.exe (http://download.microsoft.com/download/win2000platform/timethis/1.00.0.1/NT5/EN-US/timethis_setup.exe)
Перед выполнением команды вызываем :SaveTime, а после - :DiffTime
Пример батника. Архивируем папку и смотрим сколько это заняло времени.
SET SourceDir = C:\temp
SET DestDir = D:\Backup
Call :SaveTime
"C:\Program Files\7-Zip\7z" a -tzip %SourceDir%\SourceDir.zip %DestDir%\
Call :DiffTime
Echo Running time %DiffTime% sec
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
1 комментарий:
set beg=%time%
...
set /a ss=%time:~0,2%*3600+1%time:~3,2%*60+1%time:~6,2%-%beg:~0,2%*3600-1%beg:~3,2%*60-1%beg:~6,2%
если уверены, что время работы скрипта не выйдет за пределы одних суток
Отправить комментарий