Aide pour batch ping pour les gameurs

Bonjour,

Je voudrais faire un .bat pour le ping mais je n'arrive qu'a afficher le ping et pas envoyer les messages que je veux, voici le prog

@echo off
set delay=120
:boucle
ping.exe -t 8.8.8.8
pause
ping.exe -t %delay% 8.8.8.8
pause
if %delay% LSS 50 goto :a
if %delay% LSS 100 goto :b
if %delay% LSS 300 goto :c
if %delay% GTR 400 goto :d

:a
echo ping < 50
color 02
echo Ping normal / Tu peux donc jouer !
goto :boucle

:b
echo ping < 100
color 09
echo Tu peux donc jouer !
goto :boucle

:c
echo ping < 300
color 06
echo Tu peux donc jouer mais avec prudence !
goto :boucle

:d
echo ping > 400
color 04
echo Tu ne peux pas jouer !
goto :boucle

1 réponse

  1. Bonsoir,

    @echo off 
    setlocal
    set IP=8.8.8.8
    :boucle
    ::
    :: Renouveler le delay pour un nouveau test de ping
    ::
    set delay=
    ::
    :: for est une sorte de boucle, il sert à extraire une information de quelques part, la il extrait l'information de la 5e ligne : for = boucle ; "tokens=5" %%a = extraire la 5e information en variable %%a ; ping -n 2 %IP% = on ping l'ip %IP% 2 fois (2 fois afin d'éviter les bugs de crash tu peux essayer de mettre 1 sa finira forcément par crash) ; find /i "TTL" = On trouve l'information TTL ; do set delay=%%a = On mets l'information %%a en variable %delay%
    ::
    for /f "tokens=5" %%a in ('ping -n 1 %IP% ^| find /i "TTL"') do set delay=%%a
    if "%delay%"=="" (
    set delay=-1
    goto log
    )
    :: Ceci est une conversion car le chiffrement est "brute"
    set delay=%delay:~5%
    set delay=%delay:ms=%
    if %delay% LSS 50 goto :a
    if %delay% LSS 100 goto :b
    if %delay% LSS 300 goto :c
    if %delay% GTR 400 goto :d
    :a
    ::
    :: ATTENTION ! Il faut toujours mettre ^ devant / \ > < sinon sa compte comme pour une sorte d'instruction !
    ::
    echo Ping%delay% ^< 50
    color 02
    echo Ping normal / Tu peux donc jouer !
    pause
    goto :boucle
    :b
    echo Ping%delay% ^< 100
    color 09
    echo Tu peux donc jouer !
    pause
    goto :boucle
    :c
    echo Ping%delay% ^< 300
    color 06
    echo Tu peux donc jouer mais avec prudence !
    pause
    goto :boucle
    :d
    echo Ping%delay% ^> 400
    color 04
    echo Tu ne peux pas jouer !
    pause
    goto :boucle


    Tout les détails sont fournis dans le script.
    0