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

[网络连接] 批处理通过IP前缀获取网卡名

[复制链接]
发表于 2024-8-31 03:44:39 | 显示全部楼层 |阅读模式
本帖最后由 SeanJuicer 于 2024-12-25 10:40 编辑

之前有通过论坛求助得到了通过给定的网关地址获取对应网卡名的代码,如下:原帖地址
  1. for /f "tokens=1*" %%a in ('ipconfig /all') do (
  2.     if "%%a" equ "以太网适配器" (
  3.         set "AdapterName=%%b"
  4.     ) else if "%%a %%b" equ "默认网关. . . . . . . . . . . . . : %TargetGateway%" (
  5.         goto :TargetGatewayLOOP
  6.     )
  7. )
复制代码
后期使用时发现大型网络中网关是不固定的,跨网段访问很常见,脚本又不合适了。
最近疯狂学习、测试,还是达不到想要的需求,跪求大神再次帮忙。
希望通过给定的IP前缀,如172.5.来获取拥有这个IP地址的网卡名,若能在上面的代码基础上修改,就更好了。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-8-31 11:39:49 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-31 11:42 编辑

回复 1# SeanJuicer

假设源数据某一段落如下:

   ...
以太网适配器 xxx:
   ...
   ... : 172.5...
   ...

则以下代码会获取 ‘以太网适配器’ 其后的 xxx 字段值

  1. @echo off &set "go=1" &for /f "tokens=1,2 delims=:" %%a in (
  2.         'ipconfig /all^|findstr /il /c:"以太网适配器" /c:": 172.5." '
  3. ) do if defined go (
  4.         if "%%b"=="" (for /f "tokens=1* delims= " %%x in ("%%a") do set "AdapterName=%%y") else set "go="
  5. )
  6. echo,%AdapterName%&pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
SeanJuicer + 1 大佬溜牛!

查看全部评分

 楼主| 发表于 2024-8-31 15:22:14 | 显示全部楼层
回复 2# aloha20200628


    大佬溜牛啊!
 楼主| 发表于 2024-12-25 10:36:50 | 显示全部楼层
回复 2# aloha20200628


    你好,出现了新的问题了,如果有蓝牙适配器,输出的网卡名称就不正常了
发表于 2024-12-25 13:33:05 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-12-25 13:43 编辑

回复 4# SeanJuicer
试试以下代码,改用获取 ‘适配器’ 段落下的 ‘描述’ 值作为网卡名称(须楼主认可)...

  1. @echo off &set "ok=" &set "An=" &set "ip=172.5." &setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('ipconfig /all^|findstr /i /c:"描述" /c:"%ip%" ') do (
  3.    set "a=%%a" &if "!a:描述=!" neq "!a!" set "An=!a:*:=!"
  4.    if "!a:*%ip%=!" neq "!a!" set "ok=1" &goto :got)
  5. :got
  6. if defined ok if defined An (set "An=!An:~1!" &echo,!An!)
  7. pause&exit/b
复制代码
 楼主| 发表于 2025-1-3 15:10:55 | 显示全部楼层
回复  SeanJuicer
试试以下代码,改用获取 ‘适配器’ 段落下的 ‘描述’ 值作为网卡名称(须楼主认可). ...
aloha20200628 发表于 2024-12-25 13:33



    谢谢,我现在测试一下。
 楼主| 发表于 2025-1-3 15:12:26 | 显示全部楼层
回复  SeanJuicer
试试以下代码,改用获取 ‘适配器’ 段落下的 ‘描述’ 值作为网卡名称(须楼主认可). ...
aloha20200628 发表于 2024-12-25 13:33



    描述作为网卡名称,似乎在修改IP命令时是无法使用的。
发表于 2025-1-3 16:16:10 | 显示全部楼层
回复 7# SeanJuicer

看一下增加蓝牙适配器后的 ipconfig /all 返回值吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 15:21 , Processed in 0.022793 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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