[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我的答案:
要求一
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. set count=0
  5. goto :loop
  6. :up
  7. set /a count=!n!-2
  8. for /f "skip=%count% tokens=*" %%j in (a.txt) do (
  9.     echo %%j>>b.txt
  10.     goto :eof
  11.     )
  12. :loop
  13. for /f "tokens=*" %%i in (a.txt) do (
  14.     set /a n+=1
  15.     set temp=%%i
  16.     if "!temp:~0,4!"=="abcd" (
  17.     echo %%i>>b.txt
  18.     call :up
  19.     )
  20.     )
  21. start b.txt
复制代码
要求二
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. set count=0
  5. goto :loop
  6. :up
  7. set /a count=!n!-2
  8. for /f "skip=%count% tokens=*" %%j in (a.txt) do (
  9.     echo %%j>>b.txt
  10.     goto :eof
  11.     )
  12. :low
  13. set /a count=!n!
  14. for /f "skip=%count% tokens=*" %%j in (a.txt) do (
  15.     echo %%j>>b.txt
  16.     goto :eof
  17.     )
  18. :loop
  19. for /f "tokens=*" %%i in (a.txt) do (
  20.     set /a n+=1
  21.     set temp=%%i
  22.     if "!temp:~0,4!"=="abcd" (
  23.     echo %%i>>b.txt
  24.     call :up
  25.     call :low
  26.     )
  27.     )
  28. start b.txt
复制代码
如果原文件以abcd开头行出现的位置<2的话就要加判断语句,否则会报错.
不过按照楼主的a.txt文件,我测试是通过的.

[ 本帖最后由 springcm 于 2008-6-2 07:59 编辑 ]
1

评分人数

TOP

  1. :: 在标签:loop处,我用了
  2. set /a n+=1
  3. :: 相当于FOR 语句每处理一行N值递增1.
  4. set /a count=!n!-2
  5. :: 然后把n-2赋值给变量count
复制代码
Welcome back to the world, grab a spoon - old friends

TOP

返回列表