[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 【已解决】请问批处理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
复制代码
这里运行之后只能显示一个网络适配器,有办法显示多个网络适配器吗

回复 13# asd674744769


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

TOP

回复 10# went


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

TOP

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

回复 11# asd674744769

TOP

回复 10# went


    感谢,判断语句我都准备写的,大佬都已经写出来了 感谢

TOP

回复 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

评分人数

TOP

回复 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

评分人数

TOP

回复 5# went


    想请教一下 怎么能把 netsh interface show interface  第4列取完整 因为有空格他名字取不完整

TOP

回复 6# asd674744769


    我自己已弄好了 谢谢大佬

TOP

回复 5# went


    大佬,如果我想 set /p choice=请选择: 列处理的网卡的话 我应该怎么弄

TOP

  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

评分人数

TOP

有没有大佬请教一下

TOP

@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列是无法选择的,然后后面的判断命令不知道怎么加
有没有大佬教一下

TOP

大佬请一下

TOP

返回列表