Problème programmation Batch

Résolu
Bonjour,

J'aimerai mettre en place un fichier Batch qui ping une IP en boucle et lorsque le délai d'attente est dépassé, j'aimerai que ça m'envoie un mail.

Voici un début de ce que j'ai écris :

ping -n 3 192.168.1.10
if not %ERRORLEVEL% GEQ 3 goto mail
:mail
blat message.txt -to xxx-xxx@xxx.fr -s "erreur reseau au niveau du disque dur"

le problème c'est que le ping réussi ou non ça m'envoi un mail !

Pouvez vous m'aider svp

Merci

5 réponses

  1. Contributeur
    hello
    ping -n 3 192.168.1.10
    if %ERRORLEVEL% NEQ 0 blat message.txt -to xxx-xxx@xxx.fr -s "erreur reseau au niveau du disque dur"
    
    1. Merci beaucoup ! ça fonctionne !

      Voici mon script :

      @ECHO OFF
      :test
      ping -n 3 192.168.1.253
      if %ERRORLEVEL% NEQ 0 blat Disque1.txt -to xxx@xxx.com -s "erreur reseau au niveau du disque dur"

      ping -n 3 192.168.1.254
      if %ERRORLEVEL% NEQ 0 blat Disque2.txt -to xxx@xxx.com -s "erreur reseau au niveau du disque dur"
      goto test

      J'aimerai savoir si c'est possible lorsque la machine distante n'est pas joignable (ping échoué) d'envoyer un email comme ci-dessus puis d'arrêter le script.

      Est ce que c'est possible ? Comment faire ?

      Merci pour votre aide.

      Bonne journée
      1. Contributeur
        pour exécuter plusieurs commandes après le if, les regrouper entre ()
        if %ERRORLEVEL% NEQ 0 (
        echo la machine ne repond pas
        blat Disque1.txt -to xxx@xxx.com -s "erreur reseau au niveau du disque dur"
        exit /b
        )