批处理获取本机IP(局域网)及MAC地址
无聊之作...[code]::==================批处理获取本机IP(局域网)及MAC地址==============::code by youxi01@bbs.bathome.net 2008-1-5
@echo off
setlocal enabledelayedexpansion
title 获取本机IP(局域网)及MAC地址@bbs.bathome.net
Rem '/*=========初始化设置=============*/
set "Space= "
set "PH_addr=%Space%Physical Address" %'/*-----物理地址-------*/%
set "IP_addr=%Space%IP Address" %'/*------IP地址(局域网)--------*/%
Rem ===========主程序===================
for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do (
for %%a in (PH_addr IP_addr) do (
if "%%i"=="!%%a!" set %%a=%%j
)
)
Rem '/*===========对结果进行处理===========
set PH_addr=%PH_addr:*:=%
set IP_addr=%IP_addr:*:=%
Rem '/*===========结果输出===============
echo.
echo 你的网卡物理地址为:%PH_addr%
echo.
echo 你的IP(局域网)地址为:%IP_addr%
pause>nul[/code]
谢谢楼主!
有了这个,往后我维护网络就方便多了 不错,不错,对我来说比较实用!!! 请问如何设置获取如 PPPoE链接的IP地址?这个命令好像默认只能获取第一个网卡连接IP 有点看不懂,到底上面的批处理在干什么。 能不能替换掉mac,不用手工? 有些不明白?????
提问
楼主能不能解释下set PH_addr=%PH_addr:*:=%set IP_addr=%IP_addr:*:=% 是什么意思 楼主,可以再详细一点说明吗?我们是新手%_%
特别是for命令,一点都看不懂,呜呜~ 若断开网线..那该如何写呢? 请问 要是想获取局域网内的所有IP和MAC地址呢 又该怎么写呢? [quote]原帖由 [i]sbkthhlichuan[/i] 于 2009-8-10 12:17 发表 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=35529&ptid=488][img]http://www.bathome.net/images/common/back.gif[/img][/url]
请问 要是想获取局域网内的所有IP和MAC地址呢 又该怎么写呢? [/quote]
有问题可以单独发帖。
但我建议你还是先在本论坛搜索。 楼主能不能解释下set PH_addr=%PH_addr:*:=%
set IP_addr=%IP_addr:*:=% 是什么意思
使用ipconfig/all命令就全都打印出来了,不管你有几块网卡
回复 13楼 的帖子
set IP_addr=%IP_addr:*:=%是变量替换,可以参看这个帖子:
[url]http://bbs.bathome.net/viewthread.php?tid=2462&highlight=%CC%E6%BB%BB[/url]
set "Space= "
set "[color=red]PH_addr=%Space%Physical Address[/color]" %'/*-----物理地址-------*/%
set "IP_addr=%Space%IP Address" %'/*------IP地址(局域网)--------*/%
Rem ===========主程序===================
for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do (
for %%a in ([color=red]PH_addr[/color] IP_addr) do (
if [color=blue]"%%i"=="!%%a!"[/color] set %%a=%%j
)
)
红色部分,就是MAC(物理地址)
蓝色部分,就是判断条件,就是从ipconfig/all中,挑选出物理地址和IP地址。 在windows 7中 没看出什么来。 对于网络维护人员来说 可能这个更实用一些,代码简单,原理简单
@echo off
ipconfig/all >1.txt
type 1.txt
pause
del 1.txt
exit
回复 16楼 的帖子
用了 type 就没必要重定向输出到文件了, 直接 ipconfig /all 就可以看结果了.要输出到文件, 最好就在后面用 start 1.txt 用系统关联的图形界面文本编辑器来查看结果更方便 是啊,标题党最浪费人时间去看帖子了,谢谢这个批处理大集体,我是来严肃学习的。 [quote]在windows 7中 没看出什么来。
[size=2][color=#999999]tuoout 发表于 2009-9-18 09:56[/color] [url=http://www.bathome.net/redirect.php?goto=findpost&pid=37593&ptid=488][img]http://www.bathome.net/images/common/back.gif[/img][/url][/size][/quote]
不同版本的系统中,'ipconfig /all'显示的内容是不一样的,所以要作出相应的字符串变化。 分享一下,获取本机 IP 的方法[code]for /f "usebackq tokens=4" %f in (`route print^|findstr 0.0.0.0.*0.0.0.0`)do @if "%f" neq "默认" echo %f[/code]PS: 也是参考 论坛大神的方法 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=225511&ptid=488]20#[/url] [i]verbs[/i] [/b]
通过 路由表 默认路由取出的。如果 多网卡,将又有不一样 请问,在WIN7系统下,怎么没显示出具体IP和MAC的信息呢? 在windows 10中 没看出什么来。 [b]回复 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=231716&ptid=488]23#[/url] [i]Zhou.[/i] [/b]
第11行 ipconfig /all 这个命令在不同的系统里面得到的结果格式可能不同,根据实际情况调整一下代码即可。 支持楼主,谢谢分享。 支持楼主,谢谢分享。 好像没起作用 我也来一个,看20年还有人回复,加上了外网的查询跟归属地,看看有没有大神再帮小弟精简下
@echo off
title 内外网IP查看工具-By NT
@echo.
mode con cols=38 lines=15
color F0
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a")
@echo 请将以下内容截图或
@echo 本工具生成在桌面的
call :ColorText Fc " IP信息"
@echo 发送给网管
@echo ════════════════════════════════════
for /f "delims=: tokens=2" %%i in ('ipconfig^|findstr "IPv4 地址"') do echo 内网IP为:%%i &echo 内网IP为:%%i >>IP信息.txt
for /f "delims=: tokens=2" %%m in ('ipconfig -all^|findstr "物理地址"') do echo 网卡地址:%%m &echo 网卡地址:%%m >>IP信息.txt
for /f "delims=: tokens=2" %%o in ('curl -s cip.cc^|findstr "IP"') do set ip=%%o&echo 外网IP为:%%o >>IP信息.txt
for /f "delims=: tokens=2" %%l in ('curl -s ipinfo.io^|findstr ""region""') do set ad=%%l&echo 所在地区:%%l >>IP信息.txt
@echo 外网IP为:%ip%
@echo 所在地为:%ad%
@echo ════════════════════════════════════
set /p=" 按任意键退出并删除"<nul
call :ColorText Fc "IP信息"
@echo 文档
pause>nul
for /r %%f in (IP信息.txt) do del %%f
goto :eof
:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof win7下直接闪退了 [b]回复 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=237583&ptid=488]29#[/url] [i]huaker[/i] [/b]
希望你在这个论坛学到的第一个技巧是:不要只说闪退 ^_^
请参考Q-01观察一下哪行代码在报错:
[url]https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ[/url]
页:
[1]