Board logo

标题: [网络连接] 【已解决】请问批处理ipconfig读取多网卡怎么操作 [打印本页]

作者: asd674744769    时间: 2021-12-27 15:25     标题: 【已解决】请问批处理ipconfig读取多网卡怎么操作

本帖最后由 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
复制代码
这里运行之后只能显示一个网络适配器,有办法显示多个网络适配器吗
作者: asd674744769    时间: 2021-12-27 15:30

大佬请一下
作者: asd674744769    时间: 2021-12-27 16:40

@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列是无法选择的,然后后面的判断命令不知道怎么加
有没有大佬教一下
作者: asd674744769    时间: 2022-1-6 17:20

有没有大佬请教一下
作者: went    时间: 2022-1-6 18:56

  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
复制代码

作者: asd674744769    时间: 2022-1-12 13:55

回复 5# went


    大佬,如果我想 set /p choice=请选择: 列处理的网卡的话 我应该怎么弄
作者: asd674744769    时间: 2022-1-12 15:12

回复 6# asd674744769


    我自己已弄好了 谢谢大佬
作者: asd674744769    时间: 2022-1-12 15:53

回复 5# went


    想请教一下 怎么能把 netsh interface show interface  第4列取完整 因为有空格他名字取不完整
作者: went    时间: 2022-1-12 20:33

回复 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
复制代码

作者: went    时间: 2022-1-12 20:42

回复 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
复制代码

作者: asd674744769    时间: 2022-1-13 09:23

回复 10# went


    感谢,判断语句我都准备写的,大佬都已经写出来了 感谢
作者: asd674744769    时间: 2022-1-13 09:24     标题: RE: 【已解决】ipconfig读取多网卡

回复 11# asd674744769
作者: asd674744769    时间: 2022-1-13 11:06

回复 10# went


    大佬还需要请教你一下   用了你发的最新的那个判断的  我加一条运用 netsh interface ip set address !name_%Select_Card%! static 192.168.225.%random% 255.255.255.0   提示是无法用 这个抓取的名称的 应该是包含了这个空格  请问我需要怎么改
作者: went    时间: 2022-1-14 18:29

回复 13# asd674744769


    加引号试下
  1. netsh interface ip set address "!name_%Select_Card%!" static 192.168.225.%random% 255.255.255.0
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2