wolf0425
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mark_Titov Цитата: ...при обнулении он пересчитывает все заново и подсчитывает средний результат. | при этом - подсчитывает текущую статистику за день и за месяц на каждом проходе пинга, я в курсе. ты чем спорить - лучше бы сам задумался/проверил что изменится если первую из трех процитированных строк тупо удалить. а хотел ты написать видимо вот это: Код: @echo off chcp 1251 :ping rem cls set /a day_sum=0 set /a day_count=0 set /a mes_sum=0 set /a mes_count=0 set /A count=count+1 Title Pinging number %count% set "site=127.255.255.255 -w 10" set "mes=%date:~-7%" 1>nul 2>&1 MD "%systemdrive%\AN-80\%mes%\%date%" set "Log=%systemdrive%\AN-80\%mes%\%date%\log.txt" for /f "tokens=2 delims=()" %%a in ('ping -n 4 %site%') do 1>>%log% echo.%date% %time:~,8% %%a for /f "tokens=3 delims=%% " %%a in (%systemdrive%\AN-80\%mes%\%date%\log.txt) do set /a day_sum += %%a*100 & set /a day_count += 1 set /a day_average=(%day_sum%)/(%day_count%) +10000 set /a day_average_int = %day_average:~0,-2% -100 1>%systemdrive%\AN-80\%mes%\Monthly-report.txt echo.%date% %time:~0,-3% 1>%systemdrive%\AN-80\%mes%\%date%\Daily-report.txt echo Средне-арифметический процент потери связи за %date% составил = %day_average_int%.%day_average:~-2%%% for /f "delims=" %%a in ('dir /b /s %systemdrive%\AN-80\%mes%\Daily-report.txt') do type %%~fa 1>> %systemdrive%\AN-80\%mes%\Monthly-report.txt for /f "tokens=9 delims=%% " %%a in (%systemdrive%\AN-80\%mes%\Monthly-report.txt) do set "mes_tmp=%%a" & set /a mes_count += 1 & call set /a mes_sum += %%mes_tmp:.=%% set /a mes_average=(%mes_sum%)/(%mes_count%)+10000 set /a mes_average_int=%mes_average:~0,-2%-100 set mes_ 1>> %systemdrive%\AN-80\%mes%\Monthly-report.txt ( echo. echo ------------------------------------------------------------------------- echo Средне-арифметический процент потери связи за %mes% составляет - %mes_average_int%.%mes_average:~-2%%% ) rem goto :ping | зацикливание пока закомментарено. но на самом деле ещё переписывать надо, так как сама логика подсчета хромает: если вчера пинганули 10 раз и было 100% потерь, а сегодня пинганули 100 раз и было 0% потерь, то средние потери за месяц вовсе не должны быть 50%, как получается по результатам этой программы. | Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 16:07 08-06-2010 | Исправлено: wolf0425, 16:44 08-06-2010 |
|