Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Пинг в лог
Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2731
Благодарности: 1698

Профиль | Отправить PM | Цитировать


Вот в первом приближении решение. В подпрограмму PingInLog передаём ip, значения параметров n и l.
В лог-файле с именем дата-время.лог получаем строку с интересующими Вас сведениями.
Не уверен в универсальности в зависимости от ОС. У меня русская Win XP. Явно для английской версии надо другие сравнения. Что касается имени лог-файла, то, наверное, лучше его не создавать заново с разными именами (как я сделал в этом примере под Вашим давлением), а создавать заново каждый день и пополнять его в течение дня - я в лог-файле прописал имя пользователя и дату-время получения результата. Можно в одном файле тогда отследить хронику событий.
Код: Выделить весь код
Echo Off

Call :PingInLog 156.156.204.1 5 1024

GoTo End

:PingInLog

Set U=%UserName%
Set U1='
Set U2='

For /F "usebackq tokens=1,2,3,4* delims=," %%i in (`ping %1 -n %2 -l %3`) Do (

   For /F "usebackq tokens=1,2,3*" %%a in ('%%i') Do (
      If "%%a %%b"=="Обмен пакетами" Set U=%U% %%a %%c %%d
   )

   For /F "usebackq" %%a in ('%%k') Do (
       If "%%a"=="потеряно" Set U1=%%k 
    )

   For /F "usebackq" %%a in ('%%k') Do (
       If "%%a"=="Среднее" Set U2=%%k 
    )

)

Set Log=%Date:~6,4%%Date:~3,2%%Date:~0,2%-%Time:~0,2%%Time:~3,2%%Time:~6,2%.log

Echo %U%%U1%из %2.%U2% %Date% %Time%>%Log%

:End
Чтобы выдать файл на рабочий стол, надо последнее Эхо изобразить в виде:
Echo %U%%из %2.% %Date% %Time%>"C:\Documents and Settings\All Users\Рабочий стол\%Log%"

Последний раз редактировалось megaloman, 03-05-2010 в 20:47. Причина: Исправление

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:08, 03-05-2010 | #2

Название темы: Пинг в лог