问题
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:
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%
回答2:
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.
回答3:
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
来源:https://stackoverflow.com/questions/3870090/batch-script-to-get-website-ip-address