我试图获取网络的外部IP地址,看它是否与其他PC在同一网络上,但我的脚本无法正常工作。我的主要问题是: 无论我做什么,我似乎无法从外部IP地址获取 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变量都是空的。知道我做错了什么吗?
@PimpJuiceIT我是个傻瓜,非常感谢你!
—
Mark Deven
并且感谢@LotPings,您是否会介意将其作为答案进行修改以便我接受它?
—
Mark Deven
很高兴能帮助,无论我能做什么样的简单事情。有时忽略简单的事情很容易做到 - 我自己多次做过复杂的解决方案,因为我忘了先尝试简单的东西......干杯!
—
Pimp Juice IT
IF
和SET /A
逻辑,只是尝试for /f "tokens=*" %%A in (IP) do set ip=%%A
然后检查%ip%
看看它是否是预期的结果。既然你正在使用set
命令,它将设置nslookup命令中的最后一个令牌,该命令应该是其输出中的最后一个IP,这是我认为你需要的,所以试一试,因为它可能很简单,而不是试图计数然后只有设置最后的输出6
如果我理解正确的逻辑但实际上不需要它。