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