Resultat de ping erroné [2000 server] - Shell/Batch - Programmation
Marsh Posté le 11-06-2005 à 14:46:26
sans le code ca va etre dur...
Marsh Posté le 11-06-2005 à 15:00:56
ok voilà le code... mais je ne suis pas convaincu que le problème vienne de là, puisque j'affiche le résultat du ping suivi de la valeur de errorlevel, et ça me donne:
pour les machines inexistantes : "hôte inconnu" et errorlevel 1
pour la machine éteinte : "pertes : 100%" et errorlevel O
voilà quand même le code, la partie qui pose problème est dans le script 2
les noms de machines sont extraits du fichier machines.txt
Merci d'avance
script1:
Code :
|
script2:
Code :
|
Marsh Posté le 19-07-2005 à 13:22:12
Normal pour testé un ping on n'utilise pas errorlevel!
Il faut faire comme sa:
Tu fait ton ping et tu l'envoi dans un fichier ensuite tu cherche les valeurs reponse hote inconnue ou delai d'attente dépassé.
SET Machine=%1
SET Compteur=0
FOR /F "tokens=1" %%i IN ('ping IP') DO call :TestPing %%i
GOTO TestPingSuite
:TestPing
set ChainePing=%1
IF %ChainePing%Chaine==DlaiChaine set /a Compteur=%Compteur%+1
IF %ChainePing%Chaine==HteChaine set /a Compteur=%Compteur%+1
IF %ChainePing%Chaine==MauvaiseChaine set /a Compteur=%Compteur%+1
GOTO FIN
:TestPingSuite
if %Compteur%==0 GOTO PingOK
GOTO NoPing
Un peu comme ca!
Si tu n'y arrive pas demande je le ferais entier.
Marsh Posté le 19-07-2005 à 14:15:35
Ou alors comme sa aussi ca marche:
@echo off
cd\
echo 192.168.1.1>temp1.txt
for /F %%i IN (temp1.txt) DO (PING -n 2 -w 4 %%i | FIND "TTL=">NUL
IF NOT ERRORLEVEL 1 goto ok
)
goto non
:non
echo Pas de reponse!
goto fin
k
echo ping reussi!
goto fin
:fin
pause
del temp1.txt
En gros, mais un peu plus simple et tu peu faire facillement des logs et tu peu mettre plusieur ip dans le txt.
Marsh Posté le 11-06-2005 à 14:44:55
Bonjour!
Je travaille actuellement sur un petit batch, mais je tombe sur un problème assez étonnant. A un moment je teste le résultat d'un ping:
if errorlevel 1 goto erreur
Seulement je teste avec 3 noms de machines (une existante mais éteinte, et 2 imaginaires), et pour la machine éteinte le ping n'aboutit pas, pourtant errorlevel vaut bien 0...
J'ai besoin d'aide là... merci d'avance!