Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   батник который бы выполнял пинг (http://forum.oszone.net/showthread.php?t=299342)

strelec64 04-05-2015 21:11 2503786

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

@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

Как его дописать?

megaloman 06-05-2015 17:09 2504481

Вариант 1
Код:

Echo Off
Cls

Set "Spis=Cash.txt"
Set "Log=Ping_To_Log.log"

Echo ==== %Date%  %Time% =============================== >>"%Log%"

FOR /F "usebackq tokens=* delims=" %%p in ("%Spis%") Do Call :PingInLog %%p 2 512
GoTo :Eof

:PingInLog
Echo %1

ping %1 -n %2 -l %3` >nul 2>nul
If %Errorlevel%==0 (
        Echo +++  %1 Yes Ping %Date% %Time%>>"%Log%"
) Else (
        Echo ---  %1  No Ping %Date% %Time%>>"%Log%"
)

Вариант 2
Код:

Echo Off
Cls

Set "Spis=Cash.txt"
Set "Log=Ping_To_Log.log"

Echo ---- %Date%  %Time% ------------------------------- >>"%Log%"

FOR /F "usebackq tokens=* delims=" %%p in ("%Spis%") Do Call :PingInLog %%p 2 512
GoTo :Eof

:PingInLog

Set U=-
Set U1=-
Set U2=..................

Echo %1

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=%%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
    )

)

Echo %U%%из %2.% %Date% %Time%>>"%Log%"


strelec64 12-05-2015 23:05 2506611

Второй не работает.А можно сделать,чтоб по окончание выводился блокнот с результатом.
У меня в cash.txt записано
192.168.0.1 rout
192.168.0.2 komp1
А никак не получится чтоб в писалось
1 192.168.0.1 rout ОК Ping
2 192.168.0.2 komp1 No Ping

iccup.platoon@vk 12-05-2015 23:14 2506620

В самый низ указанного кода:
Код:

start "" "%Log%"

strelec64 12-05-2015 23:22 2506623

Он открывается в разных блокнотах.А нельзя в один?

iccup.platoon@vk 12-05-2015 23:42 2506629

Нельзя =)

strelec64 12-05-2015 23:48 2506631

Вот есть батник,но что то не работает

@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

iccup.platoon@vk 12-05-2015 23:57 2506634

Вложений: 1
Распаковывайте, запускайте.
файл cash.txt должен лежать рядом с батником.
Общее время ожидания после запуска бат-файла - 20 секунд

strelec64 13-05-2015 00:06 2506642

Проверил,некорректно работает,в окне командной строке пишется "заданный узел не доступен",в блокноте отмечается что все ок

iccup.platoon@vk 13-05-2015 00:09 2506646

Дайте файл cash.txt в прикреплении - посмотрим, что там не так.

strelec64 13-05-2015 00:12 2506648

файл cash.txt
cash01 kacca01
cash02 kacca01
cash03 kacca01
192.168.111.1 router
8.8.8.8 komp
192.168.111.170 vesy delik
192.168.111.160 vesy faso

iccup.platoon@vk 13-05-2015 00:14 2506654

Код:

cash01 kacca01
cash02 kacca01
cash03 kacca01

Замените имена на IP-адреса

strelec64 13-05-2015 00:18 2506657

Заменил теперь
8.8.8.8 kacca01
8.8.8.1 kacca01
8.8.8.6 kacca01
192.168.111.1 router
192.168.111.170 vesy delik
192.168.111.160 vesy faso
Ве равно
192.168.111.160 vesy faso -ok
192.168.111.170 vesy delik -ok
192.168.111.1 router -ok
8.8.8.6 kacca01 -no
8.8.8.1 kacca01 -no
8.8.8.8 kacca01 -ok

vesy faso и vesy delik IP-адрес придуман

iccup.platoon@vk 13-05-2015 00:55 2506670

Сделал себе файл cash.txt с одним заведомо не работающим сайтом:
Код:

iccup.com iccup
google.com gugl
ya.ru haha
garenaworld.com ne rabotaet

На выходе
Код:

garenaworld.com ne rabotaet -no
ya.ru haha -ok
google.com gugl -ok
iccup.com iccup -ok

Что-то странное... Замените в батфайле строку
Код:

>nul (ping -n 16 "" & copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
На
Код:

>nul (ping -n 16 "" & copy %x%nul "log.txt"/b)& start "" "log.txt"
Выполните батник, заархивируйте файлы с именами из cash.txt (они будут иметь вид %имя_из_cash_файла%.txt) и прикрепите полученный архив к сообщению.

strelec64 13-05-2015 10:05 2506767

Вложений: 1
Вот архив

iccup.platoon@vk 13-05-2015 13:05 2506863

Странно...
А вот эти:
Код:

192.168.111.160 vesy faso -ok
192.168.111.170 vesy delik -ok

если вручную пропинговать - каков результат?

strelec64 13-05-2015 19:16 2507014

Вложений: 1
Вот скрин

strelec64 13-05-2015 23:34 2507087

а может без списка,просто добавить в батник IP адреса

Molchune 14-05-2015 08:42 2507137

4_strelec64
батники конечно хорошо, но потом окажется, "а как бы было хорошо видеть историю когда работало, а когда нет."
может подумаете над какой нить системой мониторинга?

strelec64 14-05-2015 09:14 2507142

нет не нужно,можно как нибудь дописать (добавить адреса)


Время: 02:57.

Время: 02:57.
© OSzone.net 2001-