Forum Clubic

Ping + rapport

Bonjour,

J’ai trouvé le code suivant sur Internet pour pinger à intervale régulier une station.
Le code fonctionne et m’indique bien dans un log quand le ping répond.
Ce que je ne parviens pas à réaliser c’est qu’il fasse de même mais quand le ping ne répond pas…
Pouvez-vous SVP m’aider à ce sujet.
Merci.

[CODE]@echo off
cls
set marche=
echo Log file des ping. > ping.txt
echo ------------------ >> ping.txt
echo Ne pas fermer la fenetre
echo Arret du programe par CTRL-C

:loop
for %%a in (172.17.51.49 ) do call :pinging %%a
goto loop
goto :EOF

:pinging
echo ping en cours de %1
ping -n 1 %1 | find “TTL=”
if ERRORLEVEL 1 goto attente

echo %date% %time% %1 repond >> ping.txt

echo %marche% | find “%1
if not ERRORLEVEL 1 goto attente

:attente
echo Attente de 10 secondes
ping -n 10 127.0.0.1 > nul
if errorlevel 1 exit
goto :EOF[/CODE]



@echo off
cls
echo Log file des ping. > ping.txt
echo ------------------ >> ping.txt
echo Ne pas fermer la fenetre
echo Arret du programe par CTRL-C

:loop
set error=1
for %%a in (172.17.51.49) do call :pinging %%a
goto loop
goto :EOF

:pinging
echo ping en cours de %1
( ping -n 1 %1 > nul && set error=0)
(if %error% == 1 echo %date% %time% pas de reponse de %1 >>ping.txt && goto attente)
echo %date% %time% %1 repond >> ping.txt

:attente
echo Attente de 10 secondes
ping -n 10 127.0.0.1>nul
set error=1
goto :EOF


SP: ne fais pas la même erreur que moi en appelant ton script ping.bat :ane: ça promet sinon des heures de prise de tête à essayer de debugger un script qui fonctionne :ane:
Edité le 04/12/2008 à 13:20

En revanche, tu peux l’appeler pong.bat

une autre méthode avec expansion retardée de variable



@echo off

cls

setlocal enableDelayedExpansion

echo Log file des ping. > ping.txt
echo ------------------ >> ping.txt
echo Ne pas fermer la fenetre
echo Arret du programe par CTRL-C

:loop
for %%a in (172.17.51.49) do (
echo ping en cours de %%a
(ping -n 1 %%a > nul )
(if !errorlevel! == 1 (echo %date% %time% pas de reponse de %%a >>ping.txt ) else (echo %date% %time% %%a repond >> ping.txt))
echo Attente de 10 secondes
ping -n 10 127.0.0.1>nul
)
goto loop



[quote="Sans-Nom"] En revanche, tu peux l'appeler pong.bat [/quote] oui là ça pose pas de problème :lol: