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

[文本处理] [已解决]批处理如果取得文本中关键参数下面几行?

取得文件中 关键数值的 下面指行数

例如: 文件 a.txt
  1. 9
  2. 8
  3. 7
  4. 我是中国人
  5. 1
  6. 2
  7. 3
  8. 4
  9. 5
  10. 6
  11. 11
  12. 12
  13. 13
复制代码
搜索文件时 碰到"我是中国人"时 则输出 下面5行内容
其实想得到是 1 2 3 4 5

求高人解答
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 hanyeguxing 于 2011-4-21 22:24 编辑
  1. @echo off&setlocal enableDelayedExpansion
  2. (for /f "usebackq delims=" %%a in ("a.txt") do (
  3.     if defined a (
  4.         set/aa+=1
  5.         echo;%%a
  6.         if !a!==5 goto:a
  7.     )
  8.     if /i "%%a"=="我是中国人" set a=0
  9. ))
  10. :a
  11. pause>nul
复制代码
如果要在一行内格式化输出,则将 echo;%%a 改成 set/p"= %%a"<nul
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

  1. grep -A 5 "我是中国人" a.txt | grep -v "我是中国人"
复制代码

TOP

grep^^^,不是linux命令吗

TOP

4# applba


你没有听说Windows上也能用?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表