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

[网络连接] 【已解决】请问批处理ipconfig读取多网卡怎么操作

[复制链接]
发表于 2021-12-27 15:25:11 | 显示全部楼层 |阅读模式
本帖最后由 asd674744769 于 2022-1-13 09:26 编辑
  1. @echo off
  2. for /f "tokens=3*" %%t in ('ipconfig ^/all ^| find "以太网适配器"') do set name3=%%t


  3. if "%name3%"=="" (


  4. for /f "tokens=4*" %%a in ('netsh interface show interface^|more') do (set name=%%a)


  5. ) else (


  6. for /f "tokens=4*" %%a in ('netsh interface show interface^|more') do (set name=%%a %%b)

  7. )
  8. echo. & echo 1:%name%
  9. Pause
复制代码
这里运行之后只能显示一个网络适配器,有办法显示多个网络适配器吗
 楼主| 发表于 2021-12-27 15:30:50 | 显示全部楼层
大佬请一下
 楼主| 发表于 2021-12-27 16:40:38 | 显示全部楼层
@echo off & setlocal enabledelayedexpansion
echo. & echo 正在抓取网卡名称……
set m=0
for /f "tokens=1* delims=," %%a in ('ipconfig ^/all ^| find "以太网适配器"') do (
set /a m+=1
set "name!m!=%%a"
set "name=%name:~1,-1%"
)
:Select_Card
echo. & echo 1:%name1% & echo 2:!name2! & echo 3:!name3! & echo 4:!name4! & echo 5:!name5! & echo.




Pause

echo. & echo 选择网卡:%card% & goto :eof


这个能出现多网卡 但是 选择第2列是无法选择的,然后后面的判断命令不知道怎么加
有没有大佬教一下
 楼主| 发表于 2022-1-6 17:20:00 | 显示全部楼层
有没有大佬请教一下
发表于 2022-1-6 18:56:22 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. for /f "skip=3 tokens=4*" %%i in ('netsh interface show interface') do (
  5.         set /a n+=1
  6.         set "name_!n!=%%i"
  7. )
  8. for /l %%i in (1,1,%n%) do echo %%i:!name_%%i!
  9. pause&exit
复制代码

评分

参与人数 1技术 +1 收起 理由
asd674744769 + 1 感谢

查看全部评分

 楼主| 发表于 2022-1-12 13:55:04 | 显示全部楼层
回复 5# went


    大佬,如果我想 set /p choice=请选择: 列处理的网卡的话 我应该怎么弄
 楼主| 发表于 2022-1-12 15:12:58 | 显示全部楼层
回复 6# asd674744769


    我自己已弄好了 谢谢大佬
 楼主| 发表于 2022-1-12 15:53:40 | 显示全部楼层
回复 5# went


    想请教一下 怎么能把 netsh interface show interface  第4列取完整 因为有空格他名字取不完整
发表于 2022-1-12 20:33:30 | 显示全部楼层
回复 8# asd674744769
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. for /f "skip=3 tokens=3*" %%i in ('netsh interface show interface') do (
  5.         set /a n+=1
  6.         set "name_!n!=%%j"
  7. )
  8. for /l %%i in (1,1,%n%) do echo %%i:!name_%%i!
  9. pause&exit
复制代码

评分

参与人数 1技术 +1 收起 理由
asd674744769 + 1 乐于助人

查看全部评分

发表于 2022-1-12 20:42:47 | 显示全部楼层
回复 6# asd674744769
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. for /f "skip=3 tokens=3*" %%i in ('netsh interface show interface') do (
  5.         set /a n+=1
  6.         set "name_!n!=%%j"
  7. )
  8. :Select_Card
  9. for /l %%i in (1,1,%n%) do echo %%i:!name_%%i!
  10. set /p "Select_Card=选择网卡(请勿选择本地连接):"
  11. if "!name_%Select_Card%!"=="" (
  12.         echo.
  13.         echo 选择错误!
  14.         pause>nul & cls & goto :Select_Card
  15. )
  16. echo 选择了!name_%Select_Card%!
  17. pause&exit
复制代码

评分

参与人数 1技术 +1 收起 理由
asd674744769 + 1 乐于助人

查看全部评分

 楼主| 发表于 2022-1-13 09:23:45 | 显示全部楼层
回复 10# went


    感谢,判断语句我都准备写的,大佬都已经写出来了 感谢
 楼主| 发表于 2022-1-13 09:24:45 | 显示全部楼层

RE: 【已解决】ipconfig读取多网卡

回复 11# asd674744769
 楼主| 发表于 2022-1-13 11:06:31 | 显示全部楼层
回复 10# went


    大佬还需要请教你一下   用了你发的最新的那个判断的  我加一条运用 netsh interface ip set address !name_%Select_Card%! static 192.168.225.%random% 255.255.255.0   提示是无法用 这个抓取的名称的 应该是包含了这个空格  请问我需要怎么改
发表于 2022-1-14 18:29:26 | 显示全部楼层
回复 13# asd674744769


    加引号试下
  1. netsh interface ip set address "!name_%Select_Card%!" static 192.168.225.%random% 255.255.255.0
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 15:15 , Processed in 0.021595 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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