Board logo

标题: [文本处理] [已解决]批处理怎样检测文本文件里边是否包含指定的行? [打印本页]

作者: lj84831253    时间: 2010-4-17 22:53     标题: [已解决]批处理怎样检测文本文件里边是否包含指定的行?

比如一段文本内包含如下几行:
7344003
11886279
3110136
18164839
10461820
怎样检测是否包含了11886279这一行??要求如果包含则执行一段命令,如果不包含,也执行一段命令。
注意,因为要检测的文本体积非常大(上面只是一部分),所以不想要用for的。不知道用grep要怎样配合if使用呢?

[ 本帖最后由 lj84831253 于 2010-4-18 12:10 编辑 ]
作者: jcy0307    时间: 2010-4-17 23:35

  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do if "%%i"=="11886279" set a=11886279
  3. if "%a%"=="11886279" (echo 包含 & 换成你执行的命令) else (echo 不包含 & 换成你执行的命令)
  4. pause
复制代码

我只会for 不好意思
作者: ___    时间: 2010-4-17 23:42

  1. @echo off
  2. findstr /x /l "11886279" a.txt >nul
  3. if ErrorLevel 1 (
  4.     echo 不存在
  5. ) else (
  6.     echo 存在
  7. )
  8. pause
复制代码

作者: GNU    时间: 2010-4-17 23:55

发帖子之前都不看看是哪个版块么?
作者: hanyeguxing    时间: 2010-4-18 00:23

  1. findstr "11886279" a.txt >nul&&echo.成功命令||echo.失败命令
复制代码





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