bat脚本获取本机IP的方法(有多网卡or虚拟机时)

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%

码字不易,点个赞吧


版权声明:本文为yunmuq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。