I'm trying to put togethe开发者_运维问答r 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.
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%
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.
Same as @jeb answer, above, but without using EnableDelayedExpansion
, just replace "www.google.com" with you favorite site or %variablename%
:
for /f "tokens=2 delims=[]" %f in ('ping -4 -n 1 www.google.com ^|find /i "pinging"') do echo IP=%f
精彩评论