find - Buscar texto en archivos
Buscar un texto específico en archivos o en la salida de comandos es muy útil al trabajar con el símbolo del sistema o con archivos por lotes.
En este artículo se presenta cómo buscar texto con el comando find.
Conceptos básicos del comando find
El comando find sirve para buscar un texto especificado en un archivo o en la salida de un comando.
Puede extraer y mostrar las líneas que coinciden con la condición de búsqueda.
Uso básico en el símbolo del sistema
Como ejemplo, comprobemos si fruits.txt contiene la palabra Manzana.
Primero, revise el contenido del archivo fruits.txt.
A continuación, extraiga con el comando find solo las líneas que contienen “Manzana”.

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

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

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

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
De esta forma, al ejecutar el comando find, solo se muestran las líneas del archivo fruits.txt que contienen “Manzana”.
Para obtener más información sobre el comando type usado antes, consulte la siguiente página.
Uso básico en un archivo por lotes
@echo off
setlocal
find "Error" log.txt
endlocal
exit
Al ejecutar este archivo por lotes, se muestran las líneas del archivo log.txt que contienen la cadena “Error”.
Sintaxis del comando find
La sintaxis básica del comando find es la siguiente.
find [/v] [/c] [/n] [/i] [/off[line]] "cadena" [[unidad:][ruta]archivo[...]]
Descripción de los parámetros
| Parámetro | Descripción |
|---|---|
/v | Muestra todas las líneas que no contienen la cadena especificada |
/c | Cuenta las líneas que contienen la cadena especificada y muestra el total |
/n | Muestra el número de línea del archivo antes de cada línea |
/i | No distingue entre mayúsculas y minúsculas al buscar |
/off[line] | Busca también en los archivos con el atributo sin conexión, en lugar de omitirlos |
"cadena" | Especifica la cadena que se va a buscar (debe ir entre comillas dobles) |
archivo | Especifica el archivo en el que se va a buscar |
/? | Muestra la ayuda en el símbolo del sistema |
"). Ejemplos de uso del comando find
Búsqueda básica de una cadena
Busca una cadena específica en un archivo.
Búsqueda sin distinguir mayúsculas y minúsculas
Con la opción /i, puede buscar sin distinguir entre mayúsculas y minúsculas.
Mostrar números de línea
Con la opción /n, se muestra el número de línea antes de cada línea.
Mostrar las líneas que no contienen la cadena especificada
Con la opción /v, se muestran las líneas que no contienen la cadena especificada.
Contar las líneas coincidentes
Con la opción /c, se cuenta el número de líneas que contienen la cadena especificada.
Búsqueda en varios archivos
Puede buscar en varios archivos a la vez.
Búsqueda en archivos con comodines
El comando find no admite comodines (* o ?) en los nombres de archivo. Si ejecuta algo como find "ERROR" *.log, aparece el error “No se encuentra el archivo”.
Para buscar en varios archivos a la vez, pase los archivos uno por uno con el comando for.
En un archivo por lotes, escriba %f como %%f. Para obtener más información sobre el comando for, consulte la siguiente página.
Combinación con tuberías
El comando find puede buscar en la salida de otros comandos mediante una tubería (|).
Buscar en el resultado del comando dir
Buscar en el resultado del comando tasklist
Buscar servicios en ejecución
Ejemplos prácticos en archivos por lotes
Extraer errores de un archivo de registro
@echo off
setlocal
echo ========================================
echo Buscando errores en el archivo de registro
echo ========================================
echo.
find /n "Error" application.log
if errorlevel 1 (
echo No se encontraron errores
) else (
echo Se detectaron errores
)
endlocal
exit
Comprobar un elemento específico de un archivo de configuración
@echo off
setlocal
echo Comprobando la configuración de conexión a la base de datos...
find "database.url" config.properties > nul
if errorlevel 1 (
echo Error: No se encontró la configuración de la base de datos
exit /b 1
) else (
echo Se encontró la configuración de la base de datos
find "database.url" config.properties
)
endlocal
exit
Buscar entradas de una fecha específica en varios archivos de registro
@echo off
setlocal
set SEARCH_DATE=2025-10-03
echo Buscando entradas de registro de %SEARCH_DATE%...
echo.
for %%f in (*.log) do (
echo [Buscando en %%f]
find "%SEARCH_DATE%" "%%f"
echo.
)
endlocal
exit
Comprobar el estado de un servicio
@echo off
setlocal
set SERVICE_NAME=Winmgmt
sc query %SERVICE_NAME% | find "RUNNING" > nul 2>&1
if errorlevel 1 (
echo El servicio %SERVICE_NAME% está detenido
) else (
echo El servicio %SERVICE_NAME% se está ejecutando
)
endlocal
exit
Códigos de salida
El comando find devuelve los siguientes códigos de salida según el resultado de la ejecución.
| Código de salida | Descripción |
|---|---|
| 0 | Se encontró la cadena de búsqueda |
| 1 | No se encontró la cadena de búsqueda |
| 2 | No se encontró el archivo de búsqueda o se especificó un modificador no válido |
Puede usar estos códigos de salida para realizar bifurcaciones condicionales en un archivo por lotes.
Notas
El comando find no permite usar comodines (* o ?) ni en la cadena de búsqueda ni en el nombre de archivo.
Si desea buscar con expresiones regulares o comodines, use el comando findstr.
Si desea incluir comillas dobles en la cadena de búsqueda, debe duplicar cada comilla.
Ejemplo: find """quoted text""" file.txt
Diferencias con el comando findstr
El comando find es adecuado para búsquedas de cadenas simples, pero si desea realizar búsquedas más avanzadas, se recomienda usar el comando findstr.
Principales ventajas del comando findstr:
- Compatibilidad con expresiones regulares
- Posibilidad de especificar varias cadenas de búsqueda
- Posibilidad de usar comodines en los nombres de archivo
- Posibilidad de búsqueda recursiva dentro de una carpeta (
/s)
Cuando no se puede buscar por caracteres ilegibles
El comando find puede no buscar correctamente texto en japonés en archivos con una codificación de caracteres, como UTF-8, distinta de la página de códigos.
Si los resultados de la búsqueda muestran caracteres ilegibles o no se encuentran líneas que deberían coincidir, pruebe a cambiar la página de códigos con el comando chcp.
Resumen
El comando find es una herramienta útil para buscar texto específico en archivos o en la salida de comandos.
Características principales:
- Sintaxis sencilla y fácil de usar
- Posibilidad de buscar sin distinguir mayúsculas y minúsculas
- Búsqueda flexible combinándolo con tuberías
- Adecuado para la automatización en archivos por lotes
- Posibilidad de bifurcación condicional mediante códigos de salida
Se puede aprovechar en diversas situaciones, como el análisis de archivos de registro, la comprobación de archivos de configuración y el filtrado de la salida de comandos.