2010-10-06 6 views
1

Je suis en train d'assembler un fichier séquentiel, qui fera un ping sur un site web, et assignera son ip à une variable - j'ai cherché autour, mais je n'ai pas vraiment réussi à mettre quelque chose ensemble. Quelqu'un peut-il me pousser dans la bonne direction.Script batch pour obtenir l'adresse IP du site Web?

Tim.

Répondre

3

Vous pouvez essayer la commande ping. L'idée est d'obtenir la partie entre le [], de la sortie ping.

@echo off 
setlocal EnableDelayedExpansion 
set myServer=google.de 

for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 !myServer!') DO (
if "%%b" NEQ "" set ip=%%b 
) 
echo ip is %ip% 
+1

Une meilleure utilisation 'ping -n 1 -w 0! myServer! 'ne pas attendre. – Benoit

+0

Merci - c'est parfait. – Tim

+1

Le -w 0 ne semble prendre effet que si -n est supérieur à 1 – jeb

1

Si tout ce que vous voulez faire est de rechercher les adresses, vous voudrez peut-être utiliser nslookup plutôt que ping. Faire une recherche pour "nslookup batch" vous donne un tas de résultats, y compris this celui qui semble être assez facile à adapter car il stocke le résultat dans les variables.

1

Comme réponse @jeb, au-dessus, mais sans utiliser EnableDelayedExpansion, il suffit de remplacer "www.google.com" avec votre site préféré ou %variablename%:

for /f "tokens=2 delims=[]" %f in ('ping -4 -n 1 www.google.com ^|find /i "pinging"') do echo IP=%f