Je cherche à savoir quel sont les codes de sortie générés par la commande
ping
sous win2k (via la console)
C'est pour utiliser dans un batch.
Je ping une adresse, si réponse au ping je vais à une étiquette
si pas de réponse au ping, je vais à une autre étiquette.
ping -n 2 %adresse%
if %ERRORLEVEL%==1 goto SUITE
if %ERRORLEVEL%==0 goto RESERVE
:SUITE
....
:RESERVE
....
Le hic, c'est que le ping réponde ou pas, je m'en vais toujours vers
l'étiquette
correspondant à la sortie 0 !!
y'à un truc que je pige pas ...
Si le résulat de la commande est supérieur ou égale à 1, je devrais filer
vers SUITE, non ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick D
On Fri, 19 Dec 2003 22:40:19 +0100, Laurent <laurent~@moreau-fr.net> wrote:
Bonjour,
Je cherche à savoir quel sont les codes de sortie générés par la commande ping sous win2k (via la console) C'est pour utiliser dans un batch. Je ping une adresse, si réponse au ping je vais à une étiquette si pas de réponse au ping, je vais à une autre étiquette. ping -n 2 %adresse% if %ERRORLEVEL%==1 goto SUITE if %ERRORLEVEL%==0 goto RESERVE :SUITE .... :RESERVE ....
syntax error, si mes souvenirs sont justes ( pas ça sous la main)
if errorlevel 1 goto ... if errorlevel 0 goto ...
-- * enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez m'écrire * * Donne un poisson à un homme, il aura à manger pour un jour * Apprends-lui à pêcher, il aura à manger pour tous les jours de sa vie *
On Fri, 19 Dec 2003 22:40:19 +0100, Laurent <laurent~@moreau-fr.net> wrote:
Bonjour,
Je cherche à savoir quel sont les codes de sortie générés par la commande
ping
sous win2k (via la console)
C'est pour utiliser dans un batch.
Je ping une adresse, si réponse au ping je vais à une étiquette
si pas de réponse au ping, je vais à une autre étiquette.
ping -n 2 %adresse%
if %ERRORLEVEL%==1 goto SUITE
if %ERRORLEVEL%==0 goto RESERVE
:SUITE
....
:RESERVE
....
syntax error, si mes souvenirs sont justes ( pas ça sous la main)
if errorlevel 1 goto ...
if errorlevel 0 goto ...
--
* enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez
m'écrire *
* Donne un poisson à un homme, il aura à manger pour un jour
* Apprends-lui à pêcher, il aura à manger pour tous les jours de sa vie *
On Fri, 19 Dec 2003 22:40:19 +0100, Laurent <laurent~@moreau-fr.net> wrote:
Bonjour,
Je cherche à savoir quel sont les codes de sortie générés par la commande ping sous win2k (via la console) C'est pour utiliser dans un batch. Je ping une adresse, si réponse au ping je vais à une étiquette si pas de réponse au ping, je vais à une autre étiquette. ping -n 2 %adresse% if %ERRORLEVEL%==1 goto SUITE if %ERRORLEVEL%==0 goto RESERVE :SUITE .... :RESERVE ....
syntax error, si mes souvenirs sont justes ( pas ça sous la main)
if errorlevel 1 goto ... if errorlevel 0 goto ...
-- * enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez m'écrire * * Donne un poisson à un homme, il aura à manger pour un jour * Apprends-lui à pêcher, il aura à manger pour tous les jours de sa vie *
Laurent
"Patrick D" <patrickr.dubois.don' a écrit dans le message de news:
On Fri, 19 Dec 2003 22:40:19 +0100, Laurent <laurent~@moreau-fr.net>
wrote:
> Bonjour, > > Je cherche à savoir quel sont les codes de sortie générés par la
commande
> ping > sous win2k (via la console) > C'est pour utiliser dans un batch. > Je ping une adresse, si réponse au ping je vais à une étiquette > si pas de réponse au ping, je vais à une autre étiquette. > ping -n 2 %adresse% > if %ERRORLEVEL%==1 goto SUITE > if %ERRORLEVEL%==0 goto RESERVE > :SUITE > .... > :RESERVE > ....
syntax error, si mes souvenirs sont justes ( pas ça sous la main)
if errorlevel 1 goto ... if errorlevel 0 goto ...
non, pas mieux avec cette synthaxe ...
"Patrick D" <patrickr.dubois.don't.spam@free.fr> a écrit dans le message de
news:opr0gydqphax1z64@news.free.fr...
On Fri, 19 Dec 2003 22:40:19 +0100, Laurent <laurent~@moreau-fr.net>
wrote:
> Bonjour,
>
> Je cherche à savoir quel sont les codes de sortie générés par la
commande
> ping
> sous win2k (via la console)
> C'est pour utiliser dans un batch.
> Je ping une adresse, si réponse au ping je vais à une étiquette
> si pas de réponse au ping, je vais à une autre étiquette.
> ping -n 2 %adresse%
> if %ERRORLEVEL%==1 goto SUITE
> if %ERRORLEVEL%==0 goto RESERVE
> :SUITE
> ....
> :RESERVE
> ....
syntax error, si mes souvenirs sont justes ( pas ça sous la main)
"Patrick D" <patrickr.dubois.don' a écrit dans le message de news:
On Fri, 19 Dec 2003 22:40:19 +0100, Laurent <laurent~@moreau-fr.net>
wrote:
> Bonjour, > > Je cherche à savoir quel sont les codes de sortie générés par la
commande
> ping > sous win2k (via la console) > C'est pour utiliser dans un batch. > Je ping une adresse, si réponse au ping je vais à une étiquette > si pas de réponse au ping, je vais à une autre étiquette. > ping -n 2 %adresse% > if %ERRORLEVEL%==1 goto SUITE > if %ERRORLEVEL%==0 goto RESERVE > :SUITE > .... > :RESERVE > ....
syntax error, si mes souvenirs sont justes ( pas ça sous la main)
if errorlevel 1 goto ... if errorlevel 0 goto ...
non, pas mieux avec cette synthaxe ...
Jean-Claude BELLAMY
Dans le message 3fe37799$0$7152$, Laurent <laurent~@moreau-fr.net> s'est ainsi exprimé :
Bonjour,
Je cherche à savoir quel sont les codes de sortie générés par la commande ping sous win2k (via la console) C'est pour utiliser dans un batch. Je ping une adresse, si réponse au ping je vais à une étiquette si pas de réponse au ping, je vais à une autre étiquette. ping -n 2 %adresse% if %ERRORLEVEL%==1 goto SUITE if %ERRORLEVEL%==0 goto RESERVE
SUITE
....
RESERVE
.... Le hic, c'est que le ping réponde ou pas, je m'en vais toujours vers l'étiquette correspondant à la sortie 0 !! y'à un truc que je pige pas ...
C'est parce que la commande ping s'effectue toujours bien, que l'adresse indiquée réponde ou non.
Si au lieu de l'adrIP tu indiques un FQDN (Full Qualified Domain Name) et que ce FQDN n'exsite pas, dans ce cas ping renverra un ERRORLEVEL égal à 1
Tu peux faire l'expérience avec ceci : fichier "testping.bat" -------- couper ici -------- @echo off ping -n 1 %1 > nul echo Code %ERRORLEVEL% -------- couper ici --------
H:WSH>testping www.inria.fr Code 0
H:WSH>testping www.inria.fd Code 1
Dans le 2ème cas, ping na pas pu obtenir la résolution de "www.inria.fd" (qui n'existe pas)
Donc il faut tester ce que renvoie ping, p.ex. avec une commande "find", et tester ensuite le code ERRORLEVEL renvoyé par find
- Si un FQDN n'est pas résolu, ping renvoie la chaine "Hôte inconnu..." - Si le FQDN est résolu, ou si on a passé une adr.IP et si la destination ne répond pas, ping renvoie en particulier la chaine "...perte 100%"
Donc on va tester les chaines "perte 100" et "inconnu" Comme on ne peut pas faire de test "ou" dans une commande find, on va l'exécuter 2 fois. Donc on va stocker le résultat de ping dans un fichier texte, que l'on soumettra ensuite 2 fois de suite à "find"
fichier "testping.bat" -------- couper ici -------- @echo off ping -n 1 %1 > ping.txt find "perte 100" ping.txt > nul if %ERRORLEVEL%==0 goto notfound find "inconnu" ping.txt > nul if %ERRORLEVEL%==0 goto notfound echo %1 est disponible goto fin :notfound echo %1 est indisponible :fin -------- couper ici --------
H:WSH>testping www.inria.fd www.inria.fd est indisponible
H:WSH>testping www.inria.fr www.inria.fr est disponible
H:WSH>testping 192.168.0.2 192.168.0.2 est disponible
H:WSH>testping 192.168.0.21 192.168.0.21 est indisponible
A toi à présent d'adapter "testping.bat" à tes besoins ...
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Dans le message 3fe37799$0$7152$626a54ce@news.free.fr,
Laurent <laurent~@moreau-fr.net> s'est ainsi exprimé :
Bonjour,
Je cherche à savoir quel sont les codes de sortie générés par la
commande ping
sous win2k (via la console)
C'est pour utiliser dans un batch.
Je ping une adresse, si réponse au ping je vais à une étiquette
si pas de réponse au ping, je vais à une autre étiquette.
ping -n 2 %adresse%
if %ERRORLEVEL%==1 goto SUITE
if %ERRORLEVEL%==0 goto RESERVE
SUITE
....
RESERVE
....
Le hic, c'est que le ping réponde ou pas, je m'en vais toujours vers
l'étiquette
correspondant à la sortie 0 !!
y'à un truc que je pige pas ...
C'est parce que la commande ping s'effectue toujours bien, que l'adresse
indiquée réponde ou non.
Si au lieu de l'adrIP tu indiques un FQDN (Full Qualified Domain Name) et
que ce FQDN n'exsite pas, dans ce cas ping renverra un ERRORLEVEL égal à 1
Tu peux faire l'expérience avec ceci :
fichier "testping.bat"
-------- couper ici --------
@echo off
ping -n 1 %1 > nul
echo Code %ERRORLEVEL%
-------- couper ici --------
H:WSH>testping www.inria.fr
Code 0
H:WSH>testping www.inria.fd
Code 1
Dans le 2ème cas, ping na pas pu obtenir la résolution de "www.inria.fd"
(qui n'existe pas)
Donc il faut tester ce que renvoie ping, p.ex. avec une commande "find", et
tester ensuite le code ERRORLEVEL renvoyé par find
- Si un FQDN n'est pas résolu,
ping renvoie la chaine "Hôte inconnu..."
- Si le FQDN est résolu, ou si on a passé une adr.IP
et si la destination ne répond pas,
ping renvoie en particulier la chaine "...perte 100%"
Donc on va tester les chaines "perte 100" et "inconnu"
Comme on ne peut pas faire de test "ou" dans une commande find, on va
l'exécuter 2 fois.
Donc on va stocker le résultat de ping dans un fichier texte, que l'on
soumettra ensuite 2 fois de suite à "find"
fichier "testping.bat"
-------- couper ici --------
@echo off
ping -n 1 %1 > ping.txt
find "perte 100" ping.txt > nul
if %ERRORLEVEL%==0 goto notfound
find "inconnu" ping.txt > nul
if %ERRORLEVEL%==0 goto notfound
echo %1 est disponible
goto fin
:notfound
echo %1 est indisponible
:fin
-------- couper ici --------
H:WSH>testping www.inria.fd
www.inria.fd est indisponible
H:WSH>testping www.inria.fr
www.inria.fr est disponible
H:WSH>testping 192.168.0.2
192.168.0.2 est disponible
H:WSH>testping 192.168.0.21
192.168.0.21 est indisponible
A toi à présent d'adapter "testping.bat" à tes besoins ...
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Dans le message 3fe37799$0$7152$, Laurent <laurent~@moreau-fr.net> s'est ainsi exprimé :
Bonjour,
Je cherche à savoir quel sont les codes de sortie générés par la commande ping sous win2k (via la console) C'est pour utiliser dans un batch. Je ping une adresse, si réponse au ping je vais à une étiquette si pas de réponse au ping, je vais à une autre étiquette. ping -n 2 %adresse% if %ERRORLEVEL%==1 goto SUITE if %ERRORLEVEL%==0 goto RESERVE
SUITE
....
RESERVE
.... Le hic, c'est que le ping réponde ou pas, je m'en vais toujours vers l'étiquette correspondant à la sortie 0 !! y'à un truc que je pige pas ...
C'est parce que la commande ping s'effectue toujours bien, que l'adresse indiquée réponde ou non.
Si au lieu de l'adrIP tu indiques un FQDN (Full Qualified Domain Name) et que ce FQDN n'exsite pas, dans ce cas ping renverra un ERRORLEVEL égal à 1
Tu peux faire l'expérience avec ceci : fichier "testping.bat" -------- couper ici -------- @echo off ping -n 1 %1 > nul echo Code %ERRORLEVEL% -------- couper ici --------
H:WSH>testping www.inria.fr Code 0
H:WSH>testping www.inria.fd Code 1
Dans le 2ème cas, ping na pas pu obtenir la résolution de "www.inria.fd" (qui n'existe pas)
Donc il faut tester ce que renvoie ping, p.ex. avec une commande "find", et tester ensuite le code ERRORLEVEL renvoyé par find
- Si un FQDN n'est pas résolu, ping renvoie la chaine "Hôte inconnu..." - Si le FQDN est résolu, ou si on a passé une adr.IP et si la destination ne répond pas, ping renvoie en particulier la chaine "...perte 100%"
Donc on va tester les chaines "perte 100" et "inconnu" Comme on ne peut pas faire de test "ou" dans une commande find, on va l'exécuter 2 fois. Donc on va stocker le résultat de ping dans un fichier texte, que l'on soumettra ensuite 2 fois de suite à "find"
fichier "testping.bat" -------- couper ici -------- @echo off ping -n 1 %1 > ping.txt find "perte 100" ping.txt > nul if %ERRORLEVEL%==0 goto notfound find "inconnu" ping.txt > nul if %ERRORLEVEL%==0 goto notfound echo %1 est disponible goto fin :notfound echo %1 est indisponible :fin -------- couper ici --------
H:WSH>testping www.inria.fd www.inria.fd est indisponible
H:WSH>testping www.inria.fr www.inria.fr est disponible
H:WSH>testping 192.168.0.2 192.168.0.2 est disponible
H:WSH>testping 192.168.0.21 192.168.0.21 est indisponible
A toi à présent d'adapter "testping.bat" à tes besoins ...
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
gblazquez
"** Brillant msieur bellamy j'ai teste et ca roule meme si moi j'avais pas demande :-)
"** Brillant msieur bellamy j'ai teste et ca roule
meme si moi j'avais pas demande :-)