首页/系统/Windows 运维速查/find 查找文本行
CMD 常用命令74 条

find 查找文本行

在文件或管道输出中按字面量查找包含指定字符串的行:支持计数与行号,是 findstr 出现前的经典工具。

Windows 运维速查系统更新于 2026-10-13

find 是什么

find 是 Windows CMD 自带的文本行查找工具,按字面量在一段文本或文件里找出包含指定字符串的行。它只做「包含」判断,不支持正则、通配符和多条件组合,功能上对应 Linux 的 grep 但能力弱得多。它的价值在系统自带、无需安装,可直接写进 .bat/.cmd 脚本做「有没有」「有多少行」这类判断;需要复杂匹配时再换 findstr 或 PowerShell 的 Select-String。

基本信息

适用平台Windows 7/10/11 与 Windows Server 的 CMD、批处理
语法find [/v] [/c] [/n] [/i] "字符串" [文件]
常用参数/v 反选、/c 只输出条数、/n 显示行号、/i 忽略大小写
权限要求普通用户;读取他人目录或系统日志需相应权限
输入方式文件参数,或管道:type app.log | find "关键字"

典型使用场景

  • 日志初筛:确认日志里到底有没有报错行,一秒得出结论
  • 规模判断:用 /c 统计命中行数,判断问题是偶发还是大面积
  • 过滤噪音:用 /v 排掉 INFO 之类常规输出,只留下异常上下文
  • 批处理分支:用退出码判断关键字是否存在,决定后续流程走向
  • 超大日志粗筛:比把文件拖进编辑器更快定位关键字所在

常用示例

常用示例
find "ERROR" app.log                 # 字面量匹配,区分大小写
find /i "error" app.log              # 忽略大小写匹配
find /c /i "error" *.log             # 只统计每个文件命中的行数
type app.log | find /n "WARN"        # 从管道读入并显示行号
find /v "INFO" app.log               # 反选:只看不含 INFO 的行
findstr /i /c:"disk full" app.log    # 需要整串或正则时换 findstr
REM 脚本里判断是否命中
find /c "ERROR" app.log && echo 命中 || echo 未命中

输出与参数读法

项目含义注意
默认输出逐行打印命中的原文不带行号,原始内容照抄
/n 行号行首形如 [5]行号是原文行序,管道输入同样成立
/c 计数只输出一个数字指定多个文件时按文件分行显示计数
退出码0 命中、1 未命中、2 出错用 && 串联会因未命中而中断后续
find 把文件当单字节文本处理,UTF-16 编码的文件(PowerShell 重定向默认输出、记事本另存为 Unicode)会一个都匹配不到,此时改用 Select-String 或先转码。
未命中时 find 返回退出码 1。用 cmd1 && cmd2 串起来,一旦没匹配到就会跳过后面的命令,看起来像脚本「莫名中断」;显式判断 errorlevel 更可靠。

替代方案

替代方案
Select-String -Path app.log -Pattern 'ERROR|WARN'   # 支持正则与多条件
Select-String -Path app.log -Pattern 'error' | Measure-Object  # 统计命中数
中文匹配结果受控制台代码页影响:GBK 与 UTF-8 混用的环境里,find 输出的中文可能乱码,比较用的关键字也可能失配,排查前先确认 chcp 结果。

易错点

  • 把多条件写成 find "ERROR" "WARN" app.log:第二个参数会被当成文件名,实际只匹配 ERROR,多条件必须换 findstr 或 Select-String
  • 对 UTF-16 编码文件使用 find,结果是零命中,容易误判为「日志里没有问题」
  • 脚本依赖 find 的退出码却用 && 串联,未命中会直接中断后续命令,排查时误以为脚本本身有 bug
  • 中文关键字在代码页不一致的控制台上失配或乱码,先在目标机器上确认 chcp 与文件编码再固化脚本

数据来源与参考

  • Microsoft Learn:find 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌