找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 111748|回复: 29

[网络工具] 批处理获取本机IP(局域网)及MAC地址

[复制链接]
发表于 2008-1-6 08:30:14 | 显示全部楼层 |阅读模式
无聊之作...
  1. ::==================批处理获取本机IP(局域网)及MAC地址==============
  2. ::code by youxi01@bbs.bathome.net 2008-1-5
  3. @echo off
  4. setlocal enabledelayedexpansion
  5. title 获取本机IP(局域网)及MAC地址@bbs.bathome.net
  6. Rem '/*=========初始化设置=============*/
  7. set "Space=        "
  8. set "PH_addr=%Space%Physical Address"  %'/*-----物理地址-------*/%
  9. set "IP_addr=%Space%IP Address" %'/*------IP地址(局域网)--------*/%
  10. Rem ===========主程序===================
  11. for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do (
  12.    for %%a in (PH_addr IP_addr) do (
  13.       if "%%i"=="!%%a!" set %%a=%%j
  14.    )
  15. )
  16. Rem '/*===========对结果进行处理===========
  17. set PH_addr=%PH_addr:*:=%
  18. set IP_addr=%IP_addr:*:=%
  19. Rem '/*===========结果输出===============
  20. echo.
  21. echo 你的网卡物理地址为:%PH_addr%
  22. echo.
  23. echo 你的IP(局域网)地址为:%IP_addr%
  24. pause>nul
复制代码

评分

参与人数 1PB +15 收起 理由
SmallK + 15 实用!注释也详细,便于新人学习!

查看全部评分

发表于 2008-9-2 12:03:21 | 显示全部楼层

谢谢楼主!

有了这个,往后我维护网络就方便多了
发表于 2008-9-23 19:25:16 | 显示全部楼层
不错,不错,对我来说比较实用!!!
发表于 2008-10-15 10:40:45 | 显示全部楼层
请问如何设置获取如 PPPoE链接的IP地址?
这个命令好像默认只能获取第一个网卡连接IP
发表于 2008-10-24 10:54:03 | 显示全部楼层
有点看不懂,到底上面的批处理在干什么。
发表于 2008-10-31 17:02:07 | 显示全部楼层
能不能替换掉mac,不用手工?
发表于 2008-11-9 01:42:12 | 显示全部楼层
有些不明白?????
发表于 2008-11-9 03:33:14 | 显示全部楼层

提问

楼主能不能解释下set PH_addr=%PH_addr:*:=%
set IP_addr=%IP_addr:*:=% 是什么意思
发表于 2008-11-9 08:15:18 | 显示全部楼层
楼主,可以再详细一点说明吗?我们是新手%_%
特别是for命令,一点都看不懂,呜呜~
发表于 2009-1-3 15:32:34 | 显示全部楼层
若断开网线..那该如何写呢?
发表于 2009-8-10 12:17:22 | 显示全部楼层
请问  要是想获取局域网内的所有IP和MAC地址呢  又该怎么写呢?
发表于 2009-8-10 12:52:30 | 显示全部楼层
原帖由 sbkthhlichuan 于 2009-8-10 12:17 发表
请问  要是想获取局域网内的所有IP和MAC地址呢  又该怎么写呢?


有问题可以单独发帖。
但我建议你还是先在本论坛搜索。
发表于 2009-8-27 10:52:08 | 显示全部楼层
楼主能不能解释下set PH_addr=%PH_addr:*:=%
set IP_addr=%IP_addr:*:=% 是什么意思
使用ipconfig/all命令就全都打印出来了,不管你有几块网卡
发表于 2009-8-27 11:42:02 | 显示全部楼层

回复 13楼 的帖子

set IP_addr=%IP_addr:*:=%
是变量替换,可以参看这个帖子:
http://bbs.bathome.net/viewthrea ... hlight=%CC%E6%BB%BB

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
   )
)

红色部分,就是MAC(物理地址)
蓝色部分,就是判断条件,就是从ipconfig/all中,挑选出物理地址和IP地址。
发表于 2009-9-18 09:56:36 | 显示全部楼层
在windows 7中  没看出什么来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:26 , Processed in 0.022098 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表