Comment effectuer un if sur un ping dos

Comment effectuer un if sur un ping dos - Shell/Batch - Programmation

Marsh Posté le 17-05-2006 à 13:26:46    

Salut a tous. j'aimerai effectuer un ping de 20 machine et avoir un rapport a la fin me disant les machines ok et les machines deconnectées.
j'ai fait quelques recherches sur google mais sans succès

Reply

Marsh Posté le 17-05-2006 à 13:26:46   

Reply

Marsh Posté le 17-05-2006 à 18:26:03    

faire un fichier (liste.txt) avec les 20 adresses IP (1 IP par ligne) et lancer un batch de ce type :
 
@echo off  
SETLOCAL EnableDelayedExpansion
for /f "delims=" %%i in (liste.txt) do (
 ping %%i>nul
 if !errorlevel! NEQ 1 (echo %%i OK) else (echo %%i NON connect')
)
pause
endlocal

Reply

Marsh Posté le 18-05-2006 à 13:07:12    

merci beaucoup, par contre ya un bug, il me dit ok alors que les pc ne sont pas connectés.
 
le message est "limpossible de joindre l'hote de destination" au lieu d'etre "delai d'attente depassée" lorsque je fait un ping manuel, je ne sais aps si c'est ce qui fausse le batch

Reply

Marsh Posté le 18-05-2006 à 17:24:37    

Effectivement j'ai écrit ce batch un peu vite !
 
je n'ai prévu que pour les deux cas suivants :

  • réponse ok
  • delai d'attente depassé

il faut identifier les autres %errorlevel%  ou modifier l'opérateur par supérieur ou inférieur à.

Reply

Marsh Posté le 19-05-2006 à 10:49:37    

"puis je joue sur l'errorlevel, de mémoire zero si il rouve, un si il trouve pas, deux si erreur"
 
J'ai trouvé cela avec google
 
que signifie le neq??

Reply

Marsh Posté le 19-05-2006 à 12:21:41    

neq (différent de)
lss (inférieur à)
gtr (supérieur à)
etc voir l'aide de la commande if dans Windows.

Reply

Marsh Posté le 19-05-2006 à 13:25:08    

il serai plus fiable d'ajouter un find avec un des mots contenus dans la recherche.
 
genre find TTL = ok
find impossible = non connecté
find delais = non connecté

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed