Windows10 bat脚本获取本机局域网IPv4地址的实现
废话少说上代码,看注释
:: 获取本机IP
:: 将ipconfig的结果传给find,获得ipconfig结果中带ipv4的行
:: for循环对每行都执行:提取IP赋给myip。
:: /f的作用是让for处理字符串中的内容,通常情况下,不带/f的for命令会处理文件名,带/f会处理文件内的内容
:: for命令默认使用空格符、制表符将每行内容分为几个元素,tokens=16是第16个元素即ip值
for /f "tokens=16" %%i in ('ipconfig ^|find /i "ipv4"') do (
set myip=%%i
:: 正常情况下find查询只有一行结果,如果主机安装了虚拟机则会有多个适配器有ip地址。第一个才是本机IP,故使用goto保证for只执行一次就跳出循环,防止后续myip的值被覆盖
goto out
)
:: 标签
:out
echo Get local IP: %myip%