无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 9524|回复: 17

[求助] 批处理获取有效IP,mac,计算机名

[复制链接]
发表于 2017-8-7 00:27:15 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 窄口牛 于 2020-1-16 19:33 编辑

思路是这样的,tracert本地dns,取第一个值得到网关,然后ipconfig /all,得到网关和mac,然后将ip,网关,mac输出到计算机名的文本中。
因为一般单位管理都是要管外网的,所以这个思路应该成立。
获取有效网络信息.rar (1.65 KB, 下载次数: 92)
 楼主| 发表于 2017-8-7 08:05:05 | 显示全部楼层
本帖最后由 窄口牛 于 2017-8-7 08:09 编辑

现在是这么拼凑的,nt5和nt6都正常工作。
  1. @echo off
  2. echo GET MAC ADDRESS
  3. getmac /v > %Computername%.txt
  4. for /f "skip=4 tokens=1,8" %%a in ('tracert -4 本地dns地址) do (
  5.     if "%%a" equ "1" echo 网关地址:%%b >> %Computername%.txt
  6. )
  7. pause
复制代码


得到结果
连接名          网络适配器      物理地址            传输名称                                                  
=============== =============== =================== ==========================================================
本地连接        Realtek PCIe GB 00-30-18-A4-A3-77   \Device\Tcpip_{10F76D38-5CF3-46CF-8EEF-41DC9ECEA4DF}      
VMware Network  VMware Virtual  00-50-56-C0-00-01   \Device\Tcpip_{648078BB-82BC-459C-BFEC-9A0F784EBAF5}      
VMware Network  VMware Virtual  00-50-56-C0-00-08   \Device\Tcpip_{8BC73126-1161-41C8-8E3A-9E8D0645D011}      
本地连接 3      Dell Wireless 1 C0-18-85-12-A8-A5   媒体已断开连接                                            
网关地址:192.168.2.254
需要手工筛选
回复

使用道具 举报

发表于 2017-8-7 13:20:57 来自手机 | 显示全部楼层
其实,如果不需要自动还原,ipconfig /all就可以满足需求。
回复

使用道具 举报

 楼主| 发表于 2017-8-7 15:09:24 来自手机 | 显示全部楼层
是的,主要是想减去人工筛选。
回复

使用道具 举报

发表于 2017-8-16 16:39:07 | 显示全部楼层
本帖最后由 kingshui 于 2017-8-16 16:45 编辑

取IP和mac。。。。

  1. for /f "tokens=1 delims= " %i in ('wmic nic get name^,index^|findstr /i "intel realtek"') do (wmic nicconfig where index=%i get ipaddress,macaddress /value)
复制代码


常用网卡牌子写上去试下。
回复

使用道具 举报

 楼主| 发表于 2017-8-28 20:16:50 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=4 delims=: " %%i in ('nbtstat -n ^| findstr /i "ip"') do (
  4.     set "IP_addr=%%i"
  5.     set IP_addr=!IP_addr:~1,-1!
  6.     echo 本机IP为:!IP_addr!>>%Computername%.txt
  7. )
  8. for /F "skip=1 delims=" %%a in ('nbtstat -n') do (
  9.     set "IP_name=%%a"
  10.     set IP_name=!IP_name:~,-1!&goto 1
  11. )
  12. :1
  13. for /F "tokens=3 delims=:," %%m in ('getmac /v /fo csv ^|findstr !IP_name!') do (
  14.     set "IP_mac=%%m"
  15.     SET IP_mac=!IP_mac:~1,-1!
  16. echo 本机MAC为:!IP_mac!>>%Computername%.txt
  17. )
复制代码

拼凑了一个这样的

点评

你这是单位外网用的? 刚试了,家用不好用,出来三个IP,而且命令窗口还findstr错误 我用下面的命令可以正常显示。  详情 回复 发表于 2017-8-29 19:48
回复

使用道具 举报

 楼主| 发表于 2017-8-29 09:17:20 来自手机 | 显示全部楼层
多网卡已连接就不好使了
回复

使用道具 举报

发表于 2017-8-29 19:48:23 | 显示全部楼层
窄口牛 发表于 2017-8-28 20:16
拼凑了一个这样的

你这是单位外网用的?

刚试了,家用不好用,出来三个IP,而且命令窗口还findstr错误

我用下面的命令可以正常显示。

  1. wmic nicconfig where "dhcpenabled='false' and ipenabled='true'" get caption,ipaddress,ipsubnet,DefaultIPGateway,DNSServerSearchOrder,macaddress /format:hform >C:\IP.html
复制代码

点评

兄台的命令不错,不过参数好像错了?一般单位都使用dhcp来分配IP,所以,dhcpenabled还是要为true的,输出为文本文本比html应该更方便些? 仅供参考  详情 回复 发表于 2017-9-1 10:46
回复

使用道具 举报

 楼主| 发表于 2017-8-29 20:30:28 | 显示全部楼层
我那个瞎弄得,这个好用。
回复

使用道具 举报

发表于 2017-9-1 10:46:56 | 显示全部楼层
nttwqz 发表于 2017-8-29 19:48
你这是单位外网用的?

刚试了,家用不好用,出来三个IP,而且命令窗口还findstr错误


兄台的命令不错,不过参数好像错了?一般单位都使用dhcp来分配IP,所以,dhcpenabled还是要为true的,输出为文本文本比html应该更方便些?

我应用到我的域脚本发粗吧,多谢!

仅供参考

  1. wmic nicconfig where "dhcpenabled='true' and ipenabled='true'" get  caption,ipaddress,macaddress /value|more|find "="
复制代码

点评

意思是自动获取? 我这是显示手动分配的IP,自动的还备份个什么……  详情 回复 发表于 2017-9-1 16:49
回复

使用道具 举报

发表于 2017-9-1 16:49:19 来自手机 | 显示全部楼层
kingshui 发表于 2017-9-1 10:46
兄台的命令不错,不过参数好像错了?一般单位都使用dhcp来分配IP,所以,dhcpenabled还是要为true的, ...

意思是自动获取?

我这是显示手动分配的IP,自动的还备份个什么……
回复

使用道具 举报

 楼主| 发表于 2017-9-1 17:31:50 | 显示全部楼层
是的,手动才需要备份。
自动的没必要了
回复

使用道具 举报

发表于 2017-9-2 07:19:36 | 显示全部楼层
支持顶下
回复

使用道具 举报

 楼主| 发表于 2017-9-2 13:32:18 | 显示全部楼层
  1. @echo off
  2. setlocal ENABLEEXTENSIONS
  3. wget -O temp "http://ip.chinaz.com/getip.aspx"
  4. cls
  5. for /f "tokens=2 delims='" %%i in (temp) do set result=%%i
  6. del temp 2>nul
  7. echo 外网IP是: %result%
  8. for /f  "tokens=2* delims=]" %%i in ('wmic nicconfig where "dhcpenabled='true' and ipenabled='true'" 2^>nul get  caption /value ^|find "="') do echo %%i%%j>>temp1
  9. for /f  "tokens=2* delims=]" %%i in ('wmic nicconfig where "dhcpenabled='false' and ipenabled='true'" 2^>nul get  caption /value ^|find "="') do echo %%i%%j>>temp1
  10. for /f "tokens=* delims= " %%a in (temp1) do echo 网卡名称:%%a|findstr /v "VMware Microsoft"&del temp1 2>nul
  11. for /f  "tokens=2 delims==" %%i in ('wmic nicconfig where "dhcpenabled='true' and ipenabled='true'" 2^>nul get macaddress /value ^|find "="') do echo MAC地址:%%i|findstr /v "00:0C:29 00:50:56 02:00:4C"
  12. for /f  "tokens=2 delims==" %%i in ('wmic nicconfig where "dhcpenabled='false' and ipenabled='true'" 2^>nul get macaddress /value ^|find "="') do echo MAC地址:%%i|findstr /v "00:0C:29 00:50:56 02:00:4C"
  13. set "i=0.0.0.0" & set "j="
  14. for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
  15.   if not defined j for %%b in (%%a) do set "i=%%b" & set "j=1")
  16. echo IP地址:%i%
  17. for /f tokens^=2^,4delims^=^" %%i in ('wmic nicconfig where "dhcpenabled='true' and ipenabled='true'" 2^>nul get IPSubnet /value ^|find "="') do echo 子网掩码:%%i %%j
  18. for /f tokens^=2^,4delims^=^" %%i in ('wmic nicconfig where "dhcpenabled='false' and ipenabled='true'" 2^>nul get IPSubnet /value ^|find "="') do echo 子网掩码:%%i %%j
  19. for /f "tokens=3" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
  20.   if not defined k for %%b in (%%a) do set "g=%%b" & set "k=1")
  21. echo 默认网关:%g%
  22. for /f tokens^=2^,4delims^=^" %%i in ('wmic nicconfig where "dhcpenabled='true' and ipenabled='true'" 2^>nul get DNSServerSearchOrder /value ^|find "="') do echo 首选DNS:%%i&echo 备用DNS:%%j
  23. for /f tokens^=2^,4delims^=^" %%i in ('wmic nicconfig where "dhcpenabled='false' and ipenabled='true'" 2^>nul get DNSServerSearchOrder /value ^|find "="') do echo 首选DNS:%%i&echo 备用DNS:%%j
  24. echo 下面是出网路由路径显示
  25. echo 稍微有点慢,请等待
  26. for /F "skip=3 delims=" %%i in ('tracert -d 114.114.114.114') do echo %%i
  27. pause >nul
复制代码


最终定稿
获取有效网络数据.rar (385.24 KB, 下载次数: 61)
回复

使用道具 举报

发表于 2017-9-2 23:04:15 | 显示全部楼层
  1. wmic nicconfig where "ipenabled='true' and not description like '%%Microsoft%%' and not description like '%%Vmware%%'" get description
复制代码
回复

使用道具 举报

 楼主| 发表于 2017-9-2 23:11:45 来自手机 | 显示全部楼层
明白,谢谢指教。
回复

使用道具 举报

 楼主| 发表于 2017-9-3 12:26:04 来自手机 | 显示全部楼层
绕了半天还是没啥用,还是不能解决有效问题,只能tracert到网关,然后在ipconfig里找距离这个网关最近的别的参数,批处理实现太困难了。
回复

使用道具 举报

 楼主| 发表于 2020-1-16 19:33:42 | 显示全部楼层
更新为无需第三方版
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-19 02:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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