Recuperer le resultat d'un ping en vbs
Résolu/Fermé
lixel
Messages postés
22
Date d'inscription
dimanche 23 mai 2010
Statut
Membre
Dernière intervention
18 juillet 2015
-
Modifié par pijaku le 3/11/2014 à 08:30
lixel Messages postés 22 Date d'inscription dimanche 23 mai 2010 Statut Membre Dernière intervention 18 juillet 2015 - 5 nov. 2014 à 23:56
lixel Messages postés 22 Date d'inscription dimanche 23 mai 2010 Statut Membre Dernière intervention 18 juillet 2015 - 5 nov. 2014 à 23:56
A voir également:
- Ping vbs
- Vbs windows - Guide
- Ping port - Forum Windows
- Vbs pause ✓ - Forum VB / VBA
- Ping instable ✓ - Forum Réseau
- Ping facebook.com ✓ - Forum Facebook
5 réponses
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
3 nov. 2014 à 11:15
3 nov. 2014 à 11:15
lixel
Messages postés
22
Date d'inscription
dimanche 23 mai 2010
Statut
Membre
Dernière intervention
18 juillet 2015
3 nov. 2014 à 23:12
3 nov. 2014 à 23:12
Merci, je vais regarder attentivement.
lixel
Messages postés
22
Date d'inscription
dimanche 23 mai 2010
Statut
Membre
Dernière intervention
18 juillet 2015
Modifié par lixel le 4/11/2014 à 21:52
Modifié par lixel le 4/11/2014 à 21:52
Bonsoir,
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
Set objShell = Wscript.CreateObject("Wscript.Shell")
objName = objFSO.GetTempName
objTempFile = objName
objShell.Run "cmd /c ping -n 3 -w 1000 19.254.55.246 >" & objTempFile, 0, True
Set objTextFile = objFSO.OpenTextFile(objTempFile, 1)
Do While objTextFile.AtEndOfStream <> True
strText = objTextFile.ReadLine
If Instr(strText, "Reply") > 0 Then
Wscript.Echo "Reply received."
Exit Do
End If
Loop
Le code suivant permet de faire un ping mais je n'arrive pas à avoir le resultat dans la fenetre WSH, mais si j'ouvre le fichier .tmp, je peux voir le resultat du ping.
En revanche si je modifie le code afin de faire un ping sur plusieur adresse, le fichier .tmp n'affiche que le resultat du dernier ping...
Voila ce que j'ai dans le fichier .tmp :
Envoi d'une requ^te 'Ping' 169.254.55.246 avec 32 octets de donn'esÿ:
R,ponse de 169.254.55.246ÿ: octets=32 temps<1ms TTL=128
R,ponse de 169.254.55.246ÿ: octets=32 temps<1ms TTL=128
J'ai essayé de modifier la ligne "If Instr(strText, "Reply") > 0 Then" par "If Instr(strText, "R,ponse") > 0 Then"
Mais cela n'a rien donné...
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
Set objShell = Wscript.CreateObject("Wscript.Shell")
objName = objFSO.GetTempName
objTempFile = objName
objShell.Run "cmd /c ping -n 3 -w 1000 19.254.55.246 >" & objTempFile, 0, True
Set objTextFile = objFSO.OpenTextFile(objTempFile, 1)
Do While objTextFile.AtEndOfStream <> True
strText = objTextFile.ReadLine
If Instr(strText, "Reply") > 0 Then
Wscript.Echo "Reply received."
Exit Do
End If
Loop
Le code suivant permet de faire un ping mais je n'arrive pas à avoir le resultat dans la fenetre WSH, mais si j'ouvre le fichier .tmp, je peux voir le resultat du ping.
En revanche si je modifie le code afin de faire un ping sur plusieur adresse, le fichier .tmp n'affiche que le resultat du dernier ping...
Voila ce que j'ai dans le fichier .tmp :
Envoi d'une requ^te 'Ping' 169.254.55.246 avec 32 octets de donn'esÿ:
R,ponse de 169.254.55.246ÿ: octets=32 temps<1ms TTL=128
R,ponse de 169.254.55.246ÿ: octets=32 temps<1ms TTL=128
J'ai essayé de modifier la ligne "If Instr(strText, "Reply") > 0 Then" par "If Instr(strText, "R,ponse") > 0 Then"
Mais cela n'a rien donné...
Au premier appel
objShell.Run "cmd /c ping -n 3 -w 1000 19.254.55.246 >" & objTempFile, 0, True
Pour les appels suivants
objShell.Run "cmd /c ping -n 3 -w 1000 19.254.55.246 >>" & objTempFile, 0, True
le symbole > redirige les sorties console vers le fichier objTempFile en ecrasant le contenu
le symbole >> redirige les sorties console vers le fichier objTempFile en ajoutant à la fin.
objShell.Run "cmd /c ping -n 3 -w 1000 19.254.55.246 >" & objTempFile, 0, True
Pour les appels suivants
objShell.Run "cmd /c ping -n 3 -w 1000 19.254.55.246 >>" & objTempFile, 0, True
le symbole > redirige les sorties console vers le fichier objTempFile en ecrasant le contenu
le symbole >> redirige les sorties console vers le fichier objTempFile en ajoutant à la fin.
lixel
Messages postés
22
Date d'inscription
dimanche 23 mai 2010
Statut
Membre
Dernière intervention
18 juillet 2015
5 nov. 2014 à 18:02
5 nov. 2014 à 18:02
Ok merci à vous!
et pour le fait que la condition If Instr(strText, "Reply") > 0 Then n'est jamais vrai vous avez une idée?
et pour le fait que la condition If Instr(strText, "Reply") > 0 Then n'est jamais vrai vous avez une idée?
Instr(strText, "Reply")
Cette fonction recherche dans la variable strText la positon de la sous-chaine "Reply" et retourne la position du premier caractère. Si c'est positif alors la sous-chaine est trouvée.
Dans ton cas la sous-chaine serait "Réponse" et non "R,ponse", bien respecter l'orthographe.
Mais pour toi qui fait des ping en serie, cette partie est inutile et doit être supprimée.
A+
Cette fonction recherche dans la variable strText la positon de la sous-chaine "Reply" et retourne la position du premier caractère. Si c'est positif alors la sous-chaine est trouvée.
Dans ton cas la sous-chaine serait "Réponse" et non "R,ponse", bien respecter l'orthographe.
Set objTextFile = objFSO.OpenTextFile(objTempFile, 1)
Do While objTextFile.AtEndOfStream <> True
strText = objTextFile.ReadLine
If Instr(strText, "Réponse") > 0 Then
Wscript.Echo "Reply received."
End If
Exit Do
Mais pour toi qui fait des ping en serie, cette partie est inutile et doit être supprimée.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lixel
Messages postés
22
Date d'inscription
dimanche 23 mai 2010
Statut
Membre
Dernière intervention
18 juillet 2015
5 nov. 2014 à 23:56
5 nov. 2014 à 23:56
Oui c'est vrai c'est inutile pour ce que je veut faire mais... j'aime bien savoir.
Et j'ai remplacé "Reply" par "réponse" et ca ne fonctionne pas non plus c'est pour cela que j'avais mit "R,ponse" car quand j'ouvre le fichier .tmp c'est ce qu'il me mettait. J'ai changer par "TTL=" et la ca fonctionne correctement. COOL!!
Merci pour votre aide.
A+
Et j'ai remplacé "Reply" par "réponse" et ca ne fonctionne pas non plus c'est pour cela que j'avais mit "R,ponse" car quand j'ouvre le fichier .tmp c'est ce qu'il me mettait. J'ai changer par "TTL=" et la ca fonctionne correctement. COOL!!
Merci pour votre aide.
A+