Board logo

标题: [文本处理] 【已解决】请教批处理用什么方法可递增显示变量? [打印本页]

作者: licunwei    时间: 2024-1-14 20:31     标题: 【已解决】请教批处理用什么方法可递增显示变量?

本帖最后由 licunwei 于 2024-1-15 13:07 编辑

请教,我想用递增的方式显示下面2个变量,大佬些 有什么方法,请教下。下面命令是错误的,为了表达意思而已。加一个检测出有几张网卡就只能循环几次更完美。
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%A in ('wmic nic where "NetEnabled='TRUE'" get NetConnectionID /value^|find "="') do (
  4. set /a m+=1
  5. set "winx!m!=%%A"
  6. )
  7. echo %winx1%   %winx2%
  8. set "m=0"
  9. :A
  10. set /a "m+=1"
  11. echo %winx!m!%
  12. pause
  13. goto A
复制代码

作者: ShowCode    时间: 2024-1-14 20:50

回复 1# licunwei
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%A in ('wmic nic where "NetEnabled='TRUE'" get NetConnectionID /value ^| find "="') do (
  4.     set /a m+=1
  5.     set "winx!m!=%%A"
  6. )
  7. for /l %%i in (1,1,!m!) do (
  8.     echo winx%%i=!winx%%i!
  9. )
复制代码

作者: licunwei    时间: 2024-1-14 21:17

回复 2# ShowCode

不是我要的效果,我是要递增的方式显示 。大神能否帮忙改下。
作者: licunwei    时间: 2024-1-14 21:21

回复 2# ShowCode


我要的是能够变量名称加1的方式来显示。%winx1% 加1  %winx2%   加1  %winx3%  这样循环递增到没有数据为止。
作者: newswan    时间: 2024-1-15 00:35

  1. @echo off
  2. set wm1=1
  3. set wm2=2
  4. set wm3=3
  5. for /f "usebackq" %%a in (` set wm`) do (
  6. echo %%a
  7. )
复制代码

作者: ShowCode    时间: 2024-1-15 08:54

回复 4# licunwei
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%A in ('wmic nic where "NetEnabled='TRUE'" get NetConnectionID /value ^| find "="') do (
  4.     set /a m+=1
  5.     set "winx!m!=%%A"
  6. )
  7. set "n=0"
  8. :Loop
  9. set /a "n+=1"
  10. echo,!winx%n%!
  11. pause
  12. if !n! lss !m! (
  13.     goto :Loop
  14. )
复制代码

作者: licunwei    时间: 2024-1-15 13:04

回复 6# ShowCode


完美   谢谢




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