1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
1

Батник, который бы выполнял пинг

04.05.2015, 22:40. Показов 3467. Ответов 15
Метки нет (Все метки)

Всем привет,есть батник который выполняет пинг ip- адресов из блокнота.Но хотелось чтоб после выполнение пинга вышел блокнот с отчетом о пинге (например ping 192.168.1.1 - ping ок или ping 192.168.1.1 - ping no).Сам батник

Windows Batch file
1
2
3
@echo off
for /f "usebackq tokens=1*" %%i in ("cash.txt") do start "" cmd /c "title %%j& ping -n 4 %%i& pause>nul"
exit /b
Как его дописать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2015, 22:40
Ответы с готовыми решениями:

Как написать батник, который бы выполнял пинг ip- адресов из блокнота и переименовывал диалоговые окна?
Прошу подсказать как написать батник, который бы выполнял пинг ip- адресов из блокнота и...

Как создать батник, который создает батник с командами?
Уже знаю, что такая тема была, но до конца не понял. Как создать батник, который создаст батник с...

Батник, который пингует указанный IP-адрес и в случае отсутствия пинга запускает другой батник и закрывается
Доброго времени суток, столкнулся с проблемой ... нужен батник который будет пинговать айпишник к...

Батник который делает txt файл в 1 строчку !
Простите что спешу но очень надо. Не пишите не по теме , пожалуйста. Суть такова я имею файл...

15
3451 / 1989 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.05.2015, 04:23 2
При выбранном Вами варианте пингования (одновременный запуск множества процессов) писать что-то в один текстовый документ невозможно (иначе будет нечитаемая мешанина, если вообще что-то будет). Можно только писать результаты в разные временные файлы, которые после окончания пингования будут объединены в один текстовый документ, например, с помощью постепенного генерирования значения переменной для последующего её расширения в часть команд копирования и удаления временных файлов.



Вот такой сложный код получился:


Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
for /f "usebackq tokens=1*" %%i in ("cash.txt") do (
 start "%%j " cmd /c "<nul>%%i.txt set/p=%%i - & ping -w 1000 %%i| >>%%i.txt (>&2 findstr/rc:"[0-9]: "&& echo OK|| echo NO)"
 call set x=%%i.txt+%%x%%
)
>nul (ping -n 16 ""& copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
 
exit/b 0

.



Убрал команду "title", поместив заголовки окон между кавычек после "start".
Убрал количесво пакетов, так как по умолчанию их именно четыре, как у Вас, но добавил время ожидания ответа (1000 мс).
"pause>nul" также убрал, так как результаты пингования увидите в "Блокноте".

Применил шаблон поиска, не связанный с "TTL=", так как "TTL" не всегда может присутствовать.

Для удобства записи результата в файл вывод команды "findstr" перенаправил в поток ошибок.

Текстовый документ должен открываться через некоторый промежуток времени после полного окончания пингования, поэтому до его открытия лучше никакие окна не закрывать, дабы случайно не закрыть окно пакетного файла.
3
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
05.05.2015, 08:40  [ТС] 3
Спасибо,все работает

Добавлено через 16 минут
У меня в cash.txt записано
192.168.0.1 rout
192.168.0.2 komp1
После пинга получается строчки в log.txt
192.168.0.1 - ок
192.168.0.2 - ок
А никак не получится чтоб в log.txt писалось
192.168.0.1 rout -ok
192.168.0.2 komp1 -ok
0
3451 / 1989 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.05.2015, 10:28 4
Цитата Сообщение от strelec64 Посмотреть сообщение
А никак не получится чтоб в log.txt писалось
192.168.0.1 rout -ok
192.168.0.2 komp1 -ok



Легко:


Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
for /f "usebackq tokens=1*" %%i in ("cash.txt") do (
 start "%%j " cmd /c "<nul>%%i.txt set/p=%%i %%j -& ping -w 1000 %%i| >>%%i.txt (>&2 findstr/rc:"[0-9]: "&& echo ok|| echo no)"
 call set x=%%i.txt+%%x%%
)
>nul (ping -n 16 ""& copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
 
exit/b 0

.
2
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
12.05.2015, 23:53  [ТС] 5
Проверил в поле,почему некорректно работает,в окне пишется "заданный узел не доступен",батник думает что все ок
0
3451 / 1989 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
13.05.2015, 07:48 6
Цитата Сообщение от strelec64 Посмотреть сообщение
"заданный узел не доступен"



Тогда только вариант с шаблоном поиска "TTL=":


Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
for /f "usebackq tokens=1*" %%i in ("cash.txt") do (
 start "%%j " cmd /c "<nul>%%i.txt set/p=%%i %%j -& ping -4 -w 1000 %%i| >>%%i.txt (>&2 find/i "TTL="&& echo ok|| echo no)"
 call set x=%%i.txt+%%x%%
)
>nul (ping -n 16 ""& copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
 
exit/b 0

.
2
Эксперт WindowsАвтор FAQ
17825 / 7561 / 889
Регистрация: 25.12.2011
Сообщений: 11,314
Записей в блоге: 17
13.05.2015, 12:14 7
Цитата Сообщение от ComSpec Посмотреть сообщение
Применил шаблон поиска, не связанный с "TTL=", так как "TTL" не всегда может присутствовать.
Цитата Сообщение от ComSpec Посмотреть сообщение
Тогда только вариант с шаблоном поиска "TTL=":
Так может объединить и добавить в полезные, с пояснением?

Windows Batch file
1
ping 8.8.8.8 |>NUL 2>&1 findstr /irc:"[0-9]: " /c:"TTL=" && echo ok|| echo fail
0
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
13.05.2015, 12:17  [ТС] 8
а куда эту строчку добавить?
0
Эксперт WindowsАвтор FAQ
17825 / 7561 / 889
Регистрация: 25.12.2011
Сообщений: 11,314
Записей в блоге: 17
13.05.2015, 12:19 9
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
for /f "usebackq tokens=1*" %%i in ("cash.txt") do (
 start "%%j " cmd /c "<nul>%%i.txt set/p=%%i %%j -& ping -4 -w 1000 %%i| >>%%i.txt (>&2 findstr /irc:"[0-9]: " /c:"TTL="&& echo ok|| echo no)"
 call set x=%%i.txt+%%x%%
)
>nul (ping -n 16 ""& copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
 
exit/b 0
1
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
13.05.2015, 12:21  [ТС] 10
Проверил,в окне пишется "заданный узел не доступен",батник думает что все ок
0
Эксперт WindowsАвтор FAQ
17825 / 7561 / 889
Регистрация: 25.12.2011
Сообщений: 11,314
Записей в блоге: 17
13.05.2015, 12:50 11
А в этом варианте?
0
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
13.05.2015, 12:56  [ТС] 12
Этот работает
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
for /f "usebackq tokens=1*" %%i in ("cash.txt") do (
 start "%%j " cmd /c "<nul>%%i.txt set/p=%%i %%j -& ping -4 -w 1000 %%i| >>%%i.txt (>&2 find/i "TTL="&& echo ok|| echo no)"
 call set x=%%i.txt+%%x%%
)
>nul (ping -n 16 ""& copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
 
exit/b 0
0
Эксперт WindowsАвтор FAQ
17825 / 7561 / 889
Регистрация: 25.12.2011
Сообщений: 11,314
Записей в блоге: 17
13.05.2015, 13:28 13
А Вас не затруднит показать снимок экрана при выполнении вот такой команды?

Windows Batch file
1
ping -4 -w 1000 Адрес
где вместо Адрес нужно подставить какой-нибудь IP из Вашего списка.
0
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
13.05.2015, 19:01  [ТС] 14
Вот скрин
Миниатюры
Батник, который бы выполнял пинг  
1
Эксперт WindowsАвтор FAQ
17825 / 7561 / 889
Регистрация: 25.12.2011
Сообщений: 11,314
Записей в блоге: 17
13.05.2015, 19:47 15
strelec64, спасибо.

Интересно увидеть от ComSpec пример, где TTL не отображался.
Я таких случаев не встречал, но и не исключаю.
1
1 / 1 / 0
Регистрация: 04.05.2015
Сообщений: 44
13.05.2015, 20:21  [ТС] 16
Вариант с шаблоном поиска "TTL=" от ComSpec,все работает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2015, 20:21
Помогаю со студенческими работами здесь

Батник, который скачивает недостающие файлы по ftp
допустим есть ftp://192.168.1.1/ там лежат файлы : 12.12.2014.txt 13.12.2014.txt 14.12.2014.txt...

Батник, который при ошибке останавливает службу
Доброго день, столкнулся с проблемой,нужен батник который будет делать пинг к примеру 10.111.0.1, в...

Батник, который проверяет и удаляет две записи в реестре
Здравствуйте, Ув. пользователи. Помогите пожалуйста написать батник, который проверяет есть ли в...

Создать батник, который открывает файл 1000 раз
Здравствуйте!У меня есть простое консольное клиент-серверное приложение (многопоточное). Для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru