Dos
Allen 2022-09-09 00:38:26 5717 1 0 0 0
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地址
我也要发一个   ·   返回首页   ·   返回[Dos]   ·   前一个   ·   下一个
评论
Allen#1Allen 2022-09-09 14:05:14(P) 链接地址
私密回复,只有主题作者和评论人可查看!
顶部     1/1 
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Dos]   ·   返回顶部