Bat,脚本,批处理,IP地址,用bat批处理脚本,获取本机IP地址
bat脚本:获取本机IP地址
三种方法
@echo off
goto start
:: 获取本机IP
:: 将ipconfig的结果传给find,获得ipconfig结果中带ipv4的行
:: for循环对每行都执行:提取IP赋给myip。
:: /f的作用是让for处理字符串中的内容,通常情况下,不带/f的for命令会处理文件名,带/f会处理文件内的内容
:: for命令默认使用空格符、制表符将每行内容分为几个元素,tokens=16是第16个元素即ip值
:: 正常情况下find查询只有一行结果,如果主机安装了虚拟机则会有多个适配器有ip地址。
:: 第一个才是本机IP,故使用goto保证for只执行一次就跳出循环,防止后续myip的值被覆盖
:start
::method-------1-------
for /f "tokens=16" %%i in ('ipconfig ^|find /i "ipv4"') do (
set myip=%%i
goto out1
)
:out1
echo method---1
echo %myip%
::method-------2-------
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find /i "IPv4"') do (
set myip=%%i
goto out2
)
:out2
echo method---2
echo %myip%
::method-------3-------
for /f "tokens=4" %%i in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
set myip=%%i
goto out3
)
:out3
echo method---3
echo %myip%
结果
结果
method---1
192.168.247.1
method---2
192.168.247.1
method---3
192.168.0.101
第二个多了一个空格。
第三个不对,是获取最后的网关地址。
end
Tag: Bat 脚本 批处理 IP地址