![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Пинг в лог |
|
CMD/BAT - Пинг в лог
|
Пользователь Сообщения: 84 |
Доброго времени суток!
Имеется небольшая серия команд (ниже) - необходимо чтобы пользователь неискушенный набором команд ручками просто запускал батник с рабочего стола, а результаты команд писались в лог, пусть на тот же рабочий стол для дальнейшего изучения. У меня почему то окно во время запуска мигает :-) Серия команд: Ping (ip-адрес) -n 50 зафиксировать среднее время и процент потерь в лог Ping (ip-адрес) -n 50 -l 1024 зафиксировать среднее время и процент потерь в лог Наверное лучше чтобы лог не затирался каждый раз при запуске, а сохранялся с порядковым номеров: Лог1, лог2, лог3, а то запустит юзер батник когда уже связи нет и затрет лог с данными, будет он 100% потерь :-). Номер можно хранить скажем в текстовом файле, при запуске открывать для чтения текущего значения из него. |
|
Отправлено: 20:22, 02-05-2010 |
Ветеран Сообщения: 2735
|
Профиль | Отправить 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 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать Совершенно верно, нужно дописывать в файл, зачем усложнять ... я чтот не подумал
приму Ваш вариант, так как я примерно обрисовал задачу, а лучшее решение за Вами :-). Жду конечно варианта - всё гениальное просто спасибо забыл сказать |
Отправлено: 19:11, 03-05-2010 | #3 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Совершенно не представляю, почему строка, которая должна быть у меня в тексте
Echo %U%%из %2.% %Date% %Time%>%Log% в ответе выглядело неверно Echo %U%%из %2.% %Date% %Time%>%Log% - это неверно!!!! Чтобы дописывать строки в ежедневный файл надо вместо последнего Set и Echo написать Set Log=%Date:~6,4%%Date:~3,2%%Date:~0,2%.log Echo %U%%из %2.% %Date% %Time%>>%Log% |
Отправлено: 20:43, 03-05-2010 | #4 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Я не понимаю, в чем дело, но при передаче на сайт код искажается. Поэтому берите текст в прикреплённом файле.
|
|
------- Отправлено: 20:58, 03-05-2010 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Обычный пинг, но нужно что бы все что там он пишет в окне дублировалось в лог-файл | registeruser1 | Скриптовые языки администрирования Windows | 25 | 14-03-2011 11:11 | |
Интернет - Пинг проходит, но страницы не грузяться | alzasr | Microsoft Windows Vista | 2 | 08-01-2010 16:39 | |
Пинг | Bohdan_jinesis | Хочу все знать | 3 | 26-07-2009 15:01 | |
Proxy/NAT - Пинг идет INETA нету? | freej-r | Сетевые технологии | 2 | 24-08-2008 00:27 | |
пинг/ping | Farru | Сетевые технологии | 2 | 06-04-2007 21:29 |
|