@echo off
for /f "tokens=16" %%i in ('ipconfig /all ^| find /i "IPv4 地址"') do set ip=%%i
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "子网掩码"') do set mask=%%i
echo 本机IP为:%ip%
echo 子网掩码为:%mask%
for /f "tokens=16" %%i in ('ipconfig /all ^| find /i "IPv4 地址"') do set ip=%%i
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "子网掩码"') do set mask=%%i
echo 本机IP为:%ip%
echo 子网掩码为:%mask%
pause
执行ipconfig /all后会的信息中包含下面一行:
IPv4 地址 . . . . . . . . . . . . : 192.168.2.112(首选)
楼上的代码,是先查找含有“IPv4 地址”字样的一行,tokens=16表示取出满足条件的该行中的第16列(默认以空格为分隔符,你数数上面的一行就知道啦)