Comment obtenir seulement la réponse de la ligne d'un test de ping sur Windows
Habituellement, quand une requête ping à une adresse IP de serveur, nous avons cela en retour:
Pinging <IP address> with 32 bytes of data:
Reply from <ip> : bytes=32 time=151 TTL=121
Reply from <ip> : bytes=32 time=151 TTL=121
Reply from <ip> : bytes=32 time=151 TTL=121
Reply from <ip> : bytes=32 time=151 TTL=121
Ping statistics for <IP address>:
packets: sent = 4, Received = 4, lost = 0 (0% loss),
Approximate round trip times in milli-secounds:
Minimum = 151ms, Maximum = 151 ms, Average = 151 ms
Comment puis-je obtenir seulement la ligne suivante (seulement la réponse de la ligne d'un test ping) en retour, par une simple commande dans cmd.exe sur Windows (quelle que soit la langue de Windows utilisée)?
Reply from <IP address> : bytes=32 time=151 TTL=121
Peut-être la façon la plus simple est d'afficher uniquement la deuxième ligne? Comment cela doit-il être fait? Parce que je ne sais pas comment faire sous Windows.
Vous devez vous connecter pour publier un commentaire.
Cela peut fonctionner de façon plus universelle.
Vous pouvez combiner la commande findstr avec la possibilité de sauter des lignes pour:
De sortie est:
Changement
%a
à%%a
si l'écriture d'un fichier de commandes.Bien,
Enverra seulement 1 requête ping. Et vous devriez être en mesure de trouver la réponse, ligne en utilisant rien d'autre que la
FIND
commande.Donc, quelque chose comme ceci:
Mise à JOUR
Je sais que les travaux ci-dessus en langue anglaise, Windows 7 machine. Je suppose que cela pourrait fonctionner pour les autres localisations, mais cela peut être une hypothèse erronée.
Mise à JOUR 2
Cette question semble donner un aperçu. Vous pourriez avoir à écrire la sortie de la commande ping sur un fichier (à l'aide de la
>
redirection de la sortie d'un tuyau), puis utilisez les commandes dans les réponses pour obtenir uniquement la deuxième ligne.C'est assez simple à partir de l'intérieur du lot, mais en ligne de commande... moches, c'est vraiment faible:
Mais il fait le truc, estampes deuxième ligne (quel qu'il va arriver à contenir) et ignore le reste. Vous pouvez changer de ligne de l'impression de changer
skip=
.Si vous avez powershell disponibles, vous pouvez tout simplement faire: (oui je sais c'est pas comment le ping est censé être fait en PS):
powershell "ping -n 1 localhost | select -index 2"
. Vous pouvez avoir besoin de jouer avec l'index, comme sur mon (XP), ordinateur portable, table de ping des inserts supplémentaires CR dans chaque ligne, ce qui a un effet de double de l'espacement de sortie de PS.Vous pouvez accomplir cela avec powershell... voici le code, vous pouvez ajouter un script
Vous pouvez formater la chaîne de caractères dans le format que vous souhaitez.
Basé sur @wmz réponse,
est ok comme un one-liner ne dépendant d'une langue.
Il sera également donner le résultat lorsque aucune réponse n'est donnée (Timeout), où trouver et findstr pas.