[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. set List=11 23 35 83
  3. SetLocal EnableDelayedExpansion
  4. for %%a in (%List%) do set Var%%a=0
  5. for /f "delims=: tokens=2" %%a in (myfile.txt) do (
  6.     set /a Line += 1
  7.     if defined LastLine (
  8.         set /a #!LastLine!_!Line! = Var!LastLine! + Line
  9.         set LastLine=
  10.     )
  11.     if defined Var!Line! set /a LastLine = Line, Var!Line! = %%a
  12. )
  13. set #
  14. pause
复制代码

TOP

感谢2楼的分享。

可是如果我提取的不止11 12行呢?

如果我想 提取第11行 和12行 数据相加 求和
                提取第23行 和24行 数据相加  求和         
                提取第35行 和36行 数据相加  求和
                ....
                ....
                ....
                .....
                 提取第83行 和84行 数据相加  求和

怎么弄~~~~

TOP

  1. @echo off
  2. for /f "skip=10 delims=: tokens=2" %%i in (myfile.txt) do (
  3.     if not defined n (
  4.         set n=%%i
  5.     ) else (
  6.         set /a n += %%i
  7.         goto end
  8.     )
  9. )
  10. :end
  11. echo %n%
  12. pause
复制代码
  1. @echo off
  2. for /f "skip=10 delims=: tokens=2" %%i in (myfile.txt) do (
  3.     set /a "n += %%i, line += 1, 1 / (2 - line)" || goto end
  4. ) 2>nul
  5. :end
  6. echo %n%
  7. pause
复制代码

TOP

返回列表