Búsqueda de archivos
En el Símbolo del sistema, el comando que conviene usar para buscar archivos depende de lo que quieras encontrar.
En resumen: para buscar por nombre de archivo usa dir /s /b, y para buscar por el contenido del archivo usa findstr /s /i /m.
dir /s /b "C:\work\*.pdf"
cd /d "C:\work"
findstr /s /i /m "factura" *.txt
Qué método de búsqueda usar
| Lo que quieres buscar | Comando que se usa |
|---|---|
| Por nombre de archivo o extensión | dir /s /b |
| Varios patrones a la vez | where /R |
| Por el texto que contiene el archivo | findstr /s /i /m |
| Filtrando por fecha de modificación | forfiles /D |
| Procesar en orden los archivos encontrados | for /r |
Buscar por nombre de archivo (dir /s /b)
Si añades a dir las opciones /s (incluye también las subcarpetas) y /b (muestra solo la ruta), se muestra una lista con la ruta completa de los archivos que cumplen la condición.
dir /s /b "C:\work\*.pdf"
Si solo conoces una parte del nombre del archivo, añade * al principio y al final.
dir /s /b "C:\work\*report*"
Si no hay ningún archivo que cumpla la condición, dir muestra “No se encuentra el archivo” y normalmente devuelve el código de salida (ERRORLEVEL) 1. Puedes aprovecharlo en un archivo por lotes para saber si se encontró algo o no, pero si encadenas la salida con una tubería, como en dir ... | findstr, el ERRORLEVEL será el del último findstr ejecutado.
Buscar solo carpetas
Con /ad solo se buscan carpetas (directorios).
dir /s /b /ad "C:\work\*backup*"
Buscar solo archivos
Con /a-d se excluyen las carpetas y solo se buscan archivos.
dir /s /b /a-d "C:\work\*report*"
Los comodines con una extensión de 3 caracteres (como *.htm) pueden coincidir también con archivos cuya extensión tiene 4 o más caracteres (como .html) por el efecto de los nombres cortos en formato 8.3. Si necesitas distinguirlos con exactitud, filtra el resultado con findstr (por ejemplo: dir /s /b "C:\work\*.htm" | findstr /i "\.htm$"). Para más detalles, consulta
.
Filtrar más los resultados de la búsqueda
Si pasas el resultado de dir /s /b a findstr mediante una tubería, solo se conservan las rutas que contienen un texto determinado.
dir /s /b "C:\work\*.pdf" | findstr /i "2026"
Sin embargo, con este método también se evalúan los nombres de las carpetas. Si quieres filtrar solo por el nombre del archivo, lo más seguro es indicarlo con el comodín del propio dir.
Buscar con where /R
where /R busca de forma recursiva dentro de la carpeta indicada y muestra la ruta completa de los archivos encontrados.
where /R "C:\work" *.pdf
Se obtiene un resultado casi idéntico al de dir /s /b. Una característica de where es que permite indicar varios patrones separados por espacios.
where /R "C:\work" *.pdf *.docx
En PowerShell, where es un alias de Where-Object, así que ejecútalo con la extensión, como en where.exe /R "C:\work" *.pdf.
Para más información sobre where, consulta
Buscar por el contenido del archivo (findstr)
Cuando quieres buscar no por el nombre del archivo, sino por “el texto escrito dentro del archivo”, usa findstr.
cd /d "C:\work"
findstr /s /i /m "factura" *.txt
| Opción | Significado |
|---|---|
/s | Incluye la carpeta actual (o la carpeta indicada en la ruta) y sus subcarpetas |
/i | No distingue entre mayúsculas y minúsculas |
/m | Muestra solo el nombre del archivo, no las líneas coincidentes |
/n | Muestra también el número de las líneas coincidentes |
Si quitas /m, también se muestra el contenido de las líneas que coinciden.

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

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

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

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
findstr solo busca correctamente en archivos de texto (.txt, .log, .csv, .bat, código fuente, etc.). Word (.docx), Excel (.xlsx) y PDF tienen un formato comprimido o propio, por lo que el texto de su interior no se encuentra correctamente.
findstr no puede buscar en archivos UTF-16. Incluso en archivos UTF-8, es posible que no encuentre el texto en japonés si no coincide con la página de códigos de la consola (por defecto, 932). Si no se encuentra un texto en japonés, comprueba la codificación del archivo. La codificación de caracteres se explica en
Para más información sobre findstr, consulta
Buscar filtrando por fecha de modificación (forfiles)
Cuando quieras filtrar por fecha de modificación, por ejemplo “archivos de registro modificados hace 30 días o más”, forfiles resulta útil.
forfiles /P "C:\work" /S /M *.log /D -30 /C "cmd /c echo @path"
/D -30 significa “modificados hace 30 días o antes”. @path es la ruta completa del archivo encontrado, que se muestra entre comillas, como "C:\work\a.log" (si solo quieres el nombre del archivo, usa @file). Si no hay ningún archivo que cumpla la condición, forfiles muestra un mensaje de error y devuelve el código de salida 1.
Para más detalles, consulta
.Guardar los resultados de la búsqueda en un archivo
Si hay muchos resultados, guardarlos en un archivo de texto mediante redirección facilita revisarlos.
dir /s /b "C:\work\*.pdf" > result.txt
Puedes abrir el result.txt guardado con notepad result.txt. Una lista larga se lee mejor en un editor que desplazándose por la pantalla.
Para la redirección, consulta
.Procesar en un archivo por lotes los archivos encontrados
Si quieres hacer algo con los archivos encontrados, puedes usar for /r.
@echo off
for /r "C:\work" %%f in (*.log) do (
echo %%f
)
Si lo escribes directamente en el Símbolo del sistema, usa %f en lugar de %%f.
Si combinas for /f con dir, puedes procesar de uno en uno los resultados filtrados con las opciones de dir.
@echo off
for /f "delims=" %%f in ('dir /s /b /a-d "C:\work\*report*" 2^>nul') do (
echo Se encontró: %%f
)
delims= se deja vacío para recibir la línea completa tal cual, aunque la ruta contenga espacios. 2^>nul evita que se muestre el mensaje de error cuando no se encuentra nada.
Si ejecutas explorer /select,"C:\work\2026\report.pdf", se abre el Explorador con ese archivo seleccionado.
Resumen
- Para buscar por nombre de archivo:
dir /s /b "carpeta\patrón" - Para buscar por el contenido del archivo:
findstr /s /i /m "texto" patrón where /R carpeta patróntambién permite la búsqueda recursiva por nombre de archivo- Para filtrar por fecha de modificación:
forfiles /D - Los resultados se pueden guardar con
> result.txty procesar de uno en uno confor /rofor /f - El contenido de Word, Excel y PDF no se puede buscar con
findstr