findstr - Búsqueda avanzada de texto

Mantenido el

El comando find solo permite búsquedas simples de cadenas, pero el comando findstr admite búsquedas avanzadas de patrones con expresiones regulares.

Este artículo explica findstr desde lo básico hasta las expresiones regulares, las condiciones múltiples y las tuberías, con código de ejemplo.

Sintaxis básica de findstr

FINDSTR [opciones] "cadena_de_búsqueda" [nombre_de_archivo]

Ejemplo básico

Busca en un archivo las líneas que contienen una cadena concreta.

findstr "error" log.txt
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>findstr "error" log.txt
2026-03-10 10:15:32 error: Archivo no encontrado
2026-03-10 10:20:45 error: Se agotó el tiempo de conexión
C:\users\user>

Opciones principales

OpciónDescripción
/IBúsqueda sin distinguir mayúsculas de minúsculas
/SBusca en las subcarpetas de forma recursiva
/RTrata las cadenas de búsqueda como expresiones regulares
/LTrata las cadenas de búsqueda de forma literal
/C:"cadena"Busca la cadena tal cual, incluidos los espacios (literal de forma predeterminada)
/VMuestra las líneas que no coinciden (exclusión)
/NMuestra el número de línea de las coincidencias
/MMuestra solo los nombres de los archivos con coincidencias
/BBusca el patrón al principio de la línea
/EBusca el patrón al final de la línea
/XMuestra solo las líneas que coinciden exactamente por completo
/G:archivoLee las cadenas de búsqueda de un archivo
/D:directoriosBusca en una lista de directorios separados por punto y coma
¿Expresión regular o literal?

Una cadena de búsqueda indicada sin /C: se interpreta como expresión regular si contiene caracteres especiales como . o *. Para buscar . o $ de forma literal, especifica /L o escápalos con una barra invertida, como en \..

Búsqueda sin distinguir mayúsculas y minúsculas (/I)

findstr /I "warning" log.txt

Warning, WARNING y warning coinciden todos.

Buscar cadenas con espacios (/C:)

Usa la opción /C: para buscar una cadena que contiene espacios.

findstr /C:"disk full" log.txt
Sin /C:

Si escribes findstr "disk full" log.txt sin /C:, se muestran las líneas que contienen «disk» o «full» (búsqueda OR). Usa /C: para buscar la cadena exacta con el espacio.

Mostrar las líneas que no coinciden (/V)

La opción /V muestra las líneas que no coinciden con la cadena de búsqueda.

findstr /V "^rem " script.cmd

Mostrar números de línea (/N)

findstr /N "TODO" main.cmd
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>findstr /N "TODO" main.cmd
15:rem TODO: añadir tratamiento de errores
42:rem TODO: implementar el registro
C:\users\user>
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

Búsqueda con expresiones regulares

FINDSTR admite expresiones regulares básicas.

Expresiones regulares disponibles

SímboloSignificadoEjemplo
.Cualquier carácterh.t → hot, hat
*Cero o más repeticiones del carácter anteriorab*c → ac, abc, abbc
^Inicio de línea^echo
$Final de líneaerror$
[abc]Cualquiera de los caracteres entre corchetes[aeiou] → vocales
[a-z]Cualquier carácter del rango[0-9] → dígitos
[^abc]Cualquier carácter que no esté entre corchetes[^0-9] → no dígitos
\<Inicio de palabra\<the
\>Final de palabraend\>

Ejemplos de expresiones regulares

findstr /R "^echo" script.cmd
findstr /R "[0-9]" data.txt
findstr /R "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*" log.txt
Límites de las expresiones regulares

Las expresiones regulares de FINDSTR son muy básicas. No se admiten funciones extendidas como + (una o más repeticiones), ? (cero o una), | (OR) ni () (agrupación).

Búsqueda con varias condiciones

Búsqueda OR (líneas que contienen alguna de las cadenas)

Separa las cadenas de búsqueda con espacios para mostrar las líneas que coincidan con cualquiera de ellas.

findstr /I "error warning" log.txt

Búsqueda AND (líneas que contienen todas las cadenas)

FINDSTR no tiene una opción AND, así que encadena comandos con una tubería para filtrar los resultados.

findstr /I "error" log.txt | findstr /I "database"

Comprobar el resultado

FINDSTR devuelve el código de salida (nivel de error) 0 si encuentra una línea coincidente y 1 si no encuentra ninguna. Puedes usarlo para comprobar la existencia en un archivo por lotes.

@echo off
findstr /I /C:"error" log.txt >nul
IF %ERRORLEVEL% EQU 0 (
    echo Hay errores registrados.
) ELSE (
    echo No hay errores registrados.
)

Buscar en varios archivos

Con comodines

findstr "error" *.txt

Incluir subcarpetas (/S)

findstr /S "TODO" *.cmd
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>findstr /S "TODO" *.cmd
scripts\backup.cmd:rem TODO: añadir registro
scripts\deploy.cmd:rem TODO: comprobar el entorno de pruebas
tools\cleanup.cmd:rem TODO: actualizar la lista de exclusión
C:\users\user>

Mostrar solo los nombres de los archivos coincidentes (/M)

findstr /M /S "password" *.txt

Solo se muestran los nombres de los archivos que contienen la cadena, no su contenido.

Combinar con tuberías

Combina findstr con la tubería | para filtrar la salida de otros comandos.

tasklist | findstr /I "chrome"
netstat -an | findstr "443"

Diferencias entre findstr y find

Característicafindfindstr
Expresiones regulares×○
Búsqueda recursiva×○ (/S)
Varias condiciones×○ (separadas por espacios, /G)
Números de línea○ (/N)○ (/N)
Contar líneas coincidentes○ (/C)×
Sin distinguir mayúsculas○ (/I)○ (/I)
Exclusión○ (/V)○ (/V)
Límites de la codificación de caracteres

FINDSTR puede no manejar correctamente archivos UTF-8 o UTF-16. Si los resultados no son los esperados en archivos con japonés u otro texto no ASCII, comprueba la codificación del archivo. Consulta también el artículo sobre codificación.

チェック

Usa find para búsquedas simples de cadenas fijas y findstr cuando necesites expresiones regulares o búsqueda en subcarpetas.

Resumen

Este artículo explicó cómo usar el comando findstr.

FINDSTR es un comando potente para búsquedas avanzadas de texto que find no puede realizar, como expresiones regulares, búsqueda recursiva en subcarpetas e integración con tuberías.

Artículos relacionados

In preparation
La página vinculada está actualmente en construcción. Por favor, espere un momento.
In preparation
La página vinculada está actualmente en construcción. Por favor, espere un momento.

Pregunta de práctica

Problema de práctica

¿Qué ocurre al ejecutar findstr "disk full" log.txt sin la opción /C:?

回答がサーバーに送信されることはありません
#Símbolo del sistema #Archivos por lotes #FINDSTR #Expresiones regulares #Búsqueda de texto