COMMANDE PING AVEC DATE ET HEURE

  • Auteur de la discussion kmloujdi
  • Date de début

kmloujdi

Habitué
Bonjour,

je souhaite créer un .bat ou autre qui permet de me donner si le ping sur une adresse répond avec la date et lheure de réponse.

quand je fait un .bat avec :

ping -t 192.168.0.1 par exemple il me met quand ca répond pas moi je veu seulement renvoyer les résultat quand le ping répond dans un fichier texte avec lheure et la date.

J'aimerai aussi que le ping ce fasse toutes les 2 minutes par exemple au lieu de toutes les secondes.

Merci de votre aide.
 

batchy

Grand Maître
ça doit faire la 15ième fois que quelqu'un cherche un batch de ce genre ici.
 

kmloujdi

Habitué
Ben tu peu donc me donner la réponse alors ou me donner l'endroit ou se trouve le sujet identique merci
 

kmloujdi

Habitué
Ben m'aider pourquoi on aide pas ici

moi je m'y connai pas trop je suis boucher ! lol !

je fais ping - t 192.168.0.1 et j'ai pas la date et lheure et je veu que les réponse et pas les "pas de réponse" et je voulais savoir si on pouvai mettre les résultats dans un fichier .txt ou autre et derniére chose je veu savoir si on peu faire le test toutes les 2 minutes environ voila merci sinon tanpis je vai essayer de voir si ya des commandes spéciale
 

zeb

Modérateur
lol.
Normalement, ici, c'est de l'entraide entre programmeur. Mais contre un coup d'attendrisseur, on peut t'aider.

(Une question bête, tu es boucher chez EDF ?)

Pourquoi donnes-tu -t comme argument ?

La commande ping de microsoft n'est même pas capable de gérer son code de retour. Impossible de gérer l'affaire avec %ERRORLELVE%. On va ruser.
La commande pour attendre n'existe pas sous Windows. Par défaut. On va encore ruser.
La commande pour afficher la date s'appelle date.
 

zeb

Modérateur
Alors pour envoyer 1 ping, il faut utiliser l'argument -n 1.

Pour attendre, je te propose soit la fonction sleep des unixtools http://unxutils.sourceforge.net/ soit le hack suivant :
[fixed]rem - Attendre 120 secondes
ping -n 120 127.0.0.1 > NUL[/fixed]

Pour savoir ce que renvoie [fixed]ping -n 1 192.168.0.1[/fixed] on va analyser sa sortie avec find.

ping peut répondre :

[fixed]Envoi d'une requête 'ping' sur 127.0.0.1 avec 32 octets de données :

Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128

Statistiques Ping pour 127.0.0.1:
Paquets : envoyés = 1, reçus = 1, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms[/fixed]
[fixed]La requête Ping n'a pas pu trouver l'hôte 327.0.0.1. Vérifiez le nom et essayez à nouveau.[/fixed]
[fixed]
Envoi d'une requête 'ping' sur 137.137.137.137 avec 32 octets de données :

Réponse de 10.dd.nn.ss : Impossible de joindre l'hôte de destination.

Statistiques Ping pour 137.137.137.137:
Paquets : envoyés = 1, reçus = 1, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms
[/fixed]

Les réponses sont très différentes.
Je te propose de remarquer cette ligne à quand ça marche :
[fixed]Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128[/fixed]
Si on trouve le mot "TTL", considérons qu'on est bon.

La commande find renvoie 0 si elle a trouvé quelque chose, autre chose sinon.
Le retour se lit avec ERRORLEVEL
Code:
:debut
sleep 120
ping -n 1 192.168.0.1 | find "TTL"
if %ERRORLEVEL%==0 date /T
goto debut
 

kmloujdi

Habitué
oui actuellement je suis a EDF mais comment c tu ????
je suis la pour 2 jours sinon jsuis bouché !
l'argument -t j'ai vu que ca répéte le commande de façon indéfini
on va ruser c-a-d ???
 

zeb

Modérateur
Parce que je sais tout :sol:
Et je suis très soupconneux. Je viole mes principes en te donnant une solution toute faite. Alors un brave boucher, je me dis que le faire réfléchir sur de la programmation, ce n'est peut-être pas très cool. Sauf que ce boucher est à EDF. C'est très bizarre. Et je me demande si je ne vais pas regretter d'avoir violé mes principes. Hein ? On s'en fout ? ok.

Ben -t ça répète toutes les secondes, ce n'est pas ce que tu veux.
on va ruser : Ben je viens te te l'expliquer : on utilise FIND.
La soluce ne te convient pas ?
 

kmloujdi

Habitué
Si ca à l'air bien mais il manque le fameu fichier ??? ou sont mes résultat ?

sinon par curiosité comment tu c que je suis a edf tu a mon @ ip ? si oui comment tu l'à eu ?
 

zeb

Modérateur
Les résultats s'affiche à l'écran non ?
Ben tu fais juste une redirection avecle symbole > :

[fixed]commande > TON_FICHIER.TXT[/fixed]
 

kmloujdi

Habitué
voila ce que j'ai mis dans mon fichier .txt que je renomme en .bat :

:debut
sleep 120
ping -n 1 192.168.0.1 | find "TTL"
if %ERRORLEVEL%==0 date /T
commande > test.TXT
goto debut

il me met : "'sleep' n'est pas reconnu en tant que commande interne" en plus ca tourne trés vite on a pas le temp de voir et le fichier ne ce crée pas es ce normal ???
 

batchy

Grand Maître
pasque zeb à recopié un autre post dans lequel on parlait aussi de unxtool qui fourni la commande sleep.
et sinon ''commande'' c'est une commande à toi ? je pense pas qu'elle existe ...
 

boub popsyteam

Grand Maître
commande.bat c'est ce fichier:
Code:
rem - Attendre 120 secondes
ping -n 120 127.0.0.1  > NUL
:debut
sleep 120
ping -n 1 192.168.0.1 | find "TTL"
if %ERRORLEVEL%==0 date /T
goto debut
Pour avoir sa sortie dans un fichier en effet il faut faire:
Code:
commande>FICHIER.TXT
 

zeb

Modérateur
Ben n'importe quelle commande :/
y compris celle que tu crées [:spamafote]
 

kmloujdi

Habitué
bonjour,

ben je met ca :

[cpp]
rem - Attendre 120 secondes
ping -n 120 127.0.0.1 > NUL
:debut
sleep 120
ping -n 1 192.168.0.1 | find "TTL"
if %ERRORLEVEL%==0 date /T >FICHIER.TXT
goto debut
[/cpp]

il connai pas la commande sleep ???
 

zeb

Modérateur
[strike]1°) VAS LIRE LES REGLES DE PUBLICATION. TU NE DOIS PAS BALANCER DU CODE COMME CA, SANS CORRECTEMENT LE PRESENTER. [/strike]
2°) La solution au problème sleep est déjà expliquée là :
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 059
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut