bonjour, je me prend la tete sur un batch depuis ce matin.
Je me suis inspiré de celui-ci trouvé sur le net, il fonctionne nickel mais on ne peux pinger que des adresses ip.
Moi je voudrais pinger une liste de machine par leurs noms. Comment faire pour adapter ce script ?
Le script va generer un fichier "pingpong" contenant l'ip de la machine et le fichier resultat si le ping est ok ou non.
je voudrais juste modifier le ping3.bat pour que lorsqu'il genere le fichier resultat.txt jai le nom de la machine (ex : ordi1 ok) et non l'ip (10.0.0.0 ok)
Jespere avoir été clair, merci de votre aide.
nomme le: adrip.txt
213.251.177.60
192.168.0.4
127.0.0.1
crée un batch nommé ping0.bat
@echo result > result.tmp
for /F "Tokens=1-4 Delims=." %%i in (adrip.txt) do (
@echo - %%i.%%j.%%k.%%l
call ping.exe -n 1 %%i.%%j.%%k.%%l >> result.tmp
)
crée un batch nommé ping1.bat
@echo reponses: > pingpong.txt
for /F "Tokens=1-3 Delims= " %%i in (result.tmp) do call ping2.bat %%i %%j %%k
crée un batch nommé ping2.bat
if "%1"=="R‚ponse" @echo %3 >> pingpong.txt
crée un nouveau batch nommé ping3.bat
@echo off
@echo resultat > resultat.txt
for /F "Tokens=1-4 Delims=." %%i in (adrip.txt) do (
find "%%i.%%j.%%k.%%l" pingpong.txt /c > result.tmp
for /F "skip=1 Tokens=1-2 Delims=:" %%r in (result.tmp) do (
if "%%s"==" 1" @echo %%i.%%j.%%k.%%l Ok >> resultat.txt
if "%%s"==" 0" @echo %%i.%%j.%%k.%%l Ko >> resultat.txt
)
)
pour finir crée un batch nommé pingpong.bat
@echo off
@echo ******************
@echo Pings en cours...
call ping0.bat
@echo Fin des pings.
@echo ******************
@echo Verif en cours...
call ping1.bat
@echo Fin de la verif.
@echo ******************
@echo Verif en cours...
call ping3.bat
@echo Fin de la verif.
type pingpong.txt
@echo ******************
@echo Le resultat a ete sauvegarde dans pingpong.txt
pause
del result.tmp
Partager