Aide pour batch ping pour les gameurs

PingouinMaudit -  
 MirTexFR -
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. MirTexFR
     
    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