我正在尝试获取网络的外部 IP 地址,以查看它是否与其他 PC 位于同一网络上,但我的脚本不起作用。我的主要问题是:无论我做什么,我似乎都无法从nslookup myip.opendns.com resolver1.opendns.com
以下是我所拥有的:
nslookup myip.opendns.com resolver1.opendns.com>IP
set nu1m=0
Setlocal EnableDelayedExpansion
for /F "tokens=*" %%A in (IP) do (set /a nu1m+=1 & if !num!==6 set ip=%%A)
echo %ip% >Out.txt
EndLocal
我尝试%ip%
用替换!ip!
,但无论我做什么,ip 变量都是空的。知道我做错了什么吗?
答案1
你可以直接用以下方式解析输出,而不必将nslookup
其写入文件:for /f
您可以直接使用以下方法此版本为了方便查找,我在这里重复一遍:
@Echo off
for /f "tokens=2 delims=: " %%A in (
'nslookup myip.opendns.com. resolver1.opendns.com 2^>NUL^|find "Address:"'
) Do set ExtIP=%%A
Echo External IP is : %ExtIP%