Se connecter avec
S'enregistrer | Connectez-vous

processus ping

Dernière réponse : dans Programmation

Bonjours a tous ...

voila j'aimerais creer un processus ping ...

tout simplement j'aimerais que pour me faciliter la tache lors de LAN quand je clique deux foi sur un fichier une commande dos souvre et regarde toutes seul si la connection est correcte entre chaque ordi ... jusque la j'ai su le faire mais je voudrais que si il y a un probleme dans une des connection le programme me le dise en affichant une fenetre d'erreur et en montrant l'adresse ip qui pose probleme ...

Croyez vous que cela soit possible ?

Autres pages sur : processus ping

Lassé par la pub ? Créez un compte

enfin pour etre plus précis . c est plutot un batche pour trouve l ereur dans un reseau ... voici ce que j ai deja trouve mais qui bien su rne fonctione pas ...

help please .



ping 192.168.0.1


ping 192.168.0.1 >> resulta.txt


find /c "attente" resulta.txt
if ERRORLEVEL=2 goto erreur
if ERRORLEVEL=1 goto trouvepas
if ERRORLEVEL=0 goto trouve
:erreur
echo erreur
goto fin
:trouvepas
echo ca passe
goto fin
:trouve
echo ca passe pas
call relance.bat
goto fin
:fin

Expert Programmation

En modifiant un peu tout ça, ça devrait marcher mieux:
  1. @echo off
  2.  
  3. ping %1 -n 1 | find /c "temps<" > NUL
  4. if %ERRORLEVEL% EQU 0 goto present
  5.  
  6. :erreur
  7. echo erreur
  8.  
  9. goto fin
  10.  
  11. :present
  12. echo ca passe
  13.  
  14. :fin

- J'ai ajouté le @echo off pour pas tout afficher.
- J'envoi directement la commande du ping dans le find pour éviter de créer le fichier
- je teste plutot "time<" qui n'apparait que lorsque c'est bon
- je n'envoie qu'une seule commande ping (-n 1)
- je redirige l'affichage de find dans NUL pour ne pas afficher son texte lorsqu'il trouve
- moi je préfère tester la variable %ERRORLEVEL% classiquement. Ton problème vient, je pense, que l'utilisation du IF avec ERRORLEVEL direct doit poser problème quand tu fait plusieurs IF sans utiliser de ELSE
Expert Programmation

En plus il n'y a normalement pas de "=" entre le ERRORLEVEL et le nombre à tester si on utilise le IF ERRORLEVEL:
IF ERRORLEVEL 0 echo toto

EDIT: bon CrazyCat arrête d'écrire en même temps :D 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde