web-dev-qa-db-fra.com

Fichiers batch - Utilisation de ping pour tester la connectivité réseau

En utilisant un fichier de commandes, serait-il possible de faire quelque chose comme:

ping google.com

en cas de retour réussi, ECHO vous êtes connecté à Internet

sinon retour ECHO Vous n'êtes pas connecté à Internet

10
Peter

Vous pouvez utiliser l'extrait suivant:

@echo off
Ping www.google.de -n 1 -w 1000
if errorlevel 1 echo Not connected
13
CSchulz

Voici un script qui vérifie de manière répétée et écrit l'heure (à partir de l'horloge système) et "Internet hors connexion" dans un fichier journal sous C:\Internet.txt chaque fois qu'Internet est mis hors ligne . Malheureusement, la dernière ligne du journal le fichier apparaîtra à la fin - je ne sais pas comment le faire apparaître en haut;)

BTW: J'ai réglé le temps d’attente (-w) à 20 secondes, parce que j’utilisais un dongle 3G (avec Internet 2G), alors 20 secondes était souvent le seul moyen de savoir avec certitude si Internet était vraiment en panne ou si le problème ... N'hésitez pas à le remplacer par 5000 pour 5s ou à supprimer "-w 20000" pour le laisser par défaut.

@echo off

:START

ping -n 4 4.2.2.2 -w 20000 >nul

if %errorlevel% == 1 (
  echo Internet offline >> C:\Internet.txt
  Time /t >> C:\Internet.txt
)

Timeout /t 30
@set errorlevel = 0

GOTO START
4
jfgoodhew1

Voici un script pour vous aider à commencer avec:

http://www.techimo.com/forum/networking-internet/73769-handy-batch-file-check-network-connectivity.html

REMARQUE: Si votre système n'est pas en anglais, vous devrez modifier les lignes du script dans lesquelles la commande find est utilisée pour filtrer Reply from de la sortie du ping vers la chaîne correspondante dans la langue du système.

1
Ozair Kafray

D'après la réponse de @CShulz, voici un script qui affiche "Non connecté" uniquement en l'absence de connexion. Sinon, il effectuera une boucle silencieuse du test toutes les 30 secondes. Le premier ping teste la connectivité et affiche un message d'erreur en cas de problème. Le second ping ajoute une attente de 30 secondes en envoyant un ping à l'hôte local.

@echo off
:loop
ping www.google.com -n 1 -w 5000 > nul
if errorlevel 1 echo Not connected
ping -n 30 127.0.0.1 > nul
goto loop
1
user
@echo off
echo Checking connection
ping -n 1 www.google.com >nul
if errorlevel 1 (
  cls
  echo Failed
  pause>nul
  exit
)

cls
echo Success!
pause>nul
exit
1
12345
@echo off
:loop
ping www.google.com -n 1 -w 5000 >NUL
if errorlevel 1 echo Not connected
goto Loop
0
TOasT