IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Ping + Rapport


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut Ping + Rapport
    Bonjour,

    J'ai trouvé le code suivant sur Internet pour pinger à intervale régulier une station.
    Le code fonctionne et m'indique bien dans un log quand le ping répond.
    Ce que je ne parviens pas à réaliser c'est qu'il fasse de même mais quand le ping ne répond pas...
    Pouvez-vous SVP m'aider à ce sujet.
    Merci.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    @echo off
    cls
    set marche=
    echo Log file des ping. > ping.txt
    echo ------------------ >> ping.txt
    echo Ne pas fermer la fenetre
    echo Arret du programe par CTRL-C
    
    :loop
    for %%a in (172.17.51.49 ) do call :pinging %%a
    goto loop
    goto :EOF
    
    :pinging
    echo ping en cours de %1
    ping -n 1 %1 | find "TTL="
    if ERRORLEVEL 1 goto attente
    
    echo %date% %time% %1 repond >> ping.txt
    
    echo %marche% | find "*%1*"
    if not ERRORLEVEL 1 goto attente
    
    :attente
    echo Attente de 10 secondes
    ping -n 10 127.0.0.1 > nul
    if errorlevel 1 exit
    goto :EOF

  2. #2
    Membre émérite
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    :attente
    echo %date% %time% %1 ne répond pas>> ping.txt
    ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut
    Ca ne fonctionne pas. Voila les réponses que j'obtiens dans le log des ping :

    Log file des ping.
    ------------------
    04/12/2008 9:43:27,37 172.17.51.49 repond
    04/12/2008 9:43:27,40 172.17.51.49 ne répond pas
    04/12/2008 9:43:36,46 172.17.51.49 repond
    04/12/2008 9:43:36,49 172.17.51.49 ne répond pas
    04/12/2008 9:43:45,53 172.17.51.49 repond
    04/12/2008 9:43:45,56 172.17.51.49 ne répond pas
    04/12/2008 9:43:54,61 172.17.51.49 repond
    04/12/2008 9:43:54,64 172.17.51.49 ne répond pas
    04/12/2008 9:44:03,68 172.17.51.49 repond
    04/12/2008 9:44:03,71 172.17.51.49 ne répond pas

    La station est pourtant bien connectée et répond au ping correctement.

    Mon code avec les modifs indiquée pour info :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    @echo off
    cls
    set marche=
    echo Log file des ping. > ping.txt
    echo ------------------ >> ping.txt
    echo Ne pas fermer la fenetre
    echo Arret du programe par CTRL-C
    
    :loop
    for %%a in (172.17.51.49 ) do call :pinging %%a
    goto loop
    goto :EOF
    
    :pinging
    echo ping en cours de %1
    ping -n 1 %1 | find "TTL="
    if ERRORLEVEL 1 goto attente
    
    echo %date% %time% %1 repond >> ping.txt
    
    echo %marche% | find "*%1*"
    if not ERRORLEVEL 1 goto attente
    
    :attente
    echo %date% %time% %1 ne répond pas>> ping.txt
    echo Attente de 10 secondes
    ping -n 10 127.0.0.1 > nul
    if errorlevel 1 exit
    goto :EOF

  4. #4
    Membre émérite
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Par défaut
    J'y ai apporté quelques modifications, notamment au niveau de la structure.
    J'espère que ça répondra à ton besoin.

    enjoy;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    @echo off
    cls
    set ip1=172.17.51.49
    echo Log file des ping. > ping.txt
    echo ------------------ >> ping.txt
    echo Ne pas fermer la fenetre
    echo Arret du programe par CTRL-C
    
    :loop
    for %%i in (%ip1%) do call :pinging %%i
    goto loop
    goto :eof
    
    :pinging
    set dts=%date% %time%
    ping -n 1 %1 | find /i "ttl=">NUL
    if %errorlevel%==1 echo %1 :PAS DE REPONSE& echo %1 :PAS DE REPONSE [%dts:~0,-3%]>>ping.txt
    if %errorlevel%==0 echo %1 :OK& echo %1 :OK             [%dts:~0,-3%]>>ping.txt
    ping -n 10 127.0.0.1>NUL
    goto :eof

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut
    Merci, ça fonctionne !

    Sinon, j'étais parvenu à réaliser ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    @echo off
    echo Log file des ping du Dimanche 07/12/08 entre 7h et 12h : > ResultPingDimanche.txt
    echo -------------------------------------------------------- >> ResultPingDimanche.txt
    
    echo Ne pas fermer la fenetre, ping en cours...
    
    echo Arret du programe par CTRL-C
     
    
    SETLOCAL EnableDelayedExpansion
    set delay=300
    
    :loop
    
    for /f "delims=" %%i in (liste.txt) do (
    ping %%i>nul
    
     if !errorlevel! NEQ 1 (echo ping FS01 [%%i] le %date% à %time% = OK >> ResultPingDimanche.txt) else (echo ping FS01 [%%i] le %date% à %time% = NON OK >> ResultPingDimanche.txt)
    ping -n %delay% 127.0.0.1 >NUL:
    
    )
    
    goto loop
    Fonctionne également.
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Page de rapport de bug sur le site de Sun
    Par piff dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2003, 18h12
  2. Les possibilité que C++ offre par rapport à Pascal Objet
    Par Riko dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 01/02/2003, 21h38
  3. ping sur un port
    Par Neo41 dans le forum Développement
    Réponses: 3
    Dernier message: 21/01/2003, 01h42
  4. Print et Preview d'un rapport Rave
    Par joebarthib dans le forum Rave
    Réponses: 4
    Dernier message: 19/12/2002, 14h46
  5. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 13/07/2002, 20h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo