views:

35

answers:

2

I'm trying to put together a batch file, that will ping a website, and assign its ip to a variable - I've searched around, but haven't really been able to put something together. Can anyone shove me in the right direction.

Tim.

+1  A: 

You could try the ping command. The idea is to get the part between the [], of the ping output.

@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%
jeb
Better use `ping -n 1 -w 0 !myServer!` to have no wait.
Benoit
Thanks - thats perfect.
Tim
The -w 0 seems only to take an effect, if -n is higher than 1
jeb
+1  A: 

If all you want to do is look up the addresses, you might want to use nslookup rather than ping. Doing a search for "nslookup batch" gives you a bunch of results, including this one that looks like it should be fairly easy to adapt since it stores the result in variables.

ho1