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

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

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

[ 本帖最后由 lj84831253 于 2010-4-18 12:10 编辑 ]
1

评分人数

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

  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 不好意思
1

评分人数

TOP

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

评分人数

TOP

发帖子之前都不看看是哪个版块么?

TOP

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

评分人数

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

TOP

返回列表