El comando «Buscar» suele ser adecuado para la mayoría de sus necesidades (consulte la sugerencia titulada link: / windows-Using_the_Find_Command [Uso del comando Find]), pero también hay un comando «Findstr» que es más poderoso para esos momentos cuando necesita encontrar cadenas en determinadas circunstancias. En su forma más simple, Findstr se parece a Find:

C:\> FINDSTR "document" Barry?.tmp

Findstr acepta varios modificadores más que Find, y puede ver una lista completa escribiendo lo siguiente:

C:\> FINDSTR /?

La primera diferencia que notarás entre la salida de Find y

Findstr es que este último antepone cada línea encontrada con el nombre del archivo en el que se encuentra: (Ver Figura 1.)

image

Figura 1. Findstr muestra los nombres de los archivos en línea con la cadena encontrada.

Hay más de una docena de conmutadores disponibles con Findstr, pero en lugar de pasar por todos ellos, solo le diré algunas de las funciones más importantes (imo) disponibles sobre lo que tiene el comando Buscar. Lo primero que mencionaré es que puedes buscar varias cadenas al mismo tiempo. Si la cadena de búsqueda que está buscando contiene espacios, Findstr asumirá que desea encontrar cadena1 o cadena2 o cadena3, etc. Por ejemplo, si desea encontrar todas las líneas que contienen «documento» o «texto», simplemente separe las palabras con un espacio como este:

(Ver figura 2)

image

Figura 2. Búsqueda de dos cadenas a la vez.

Otra característica interesante es que Findstr puede buscar archivos en subdirectorios.

Digamos que tengo Barry1.tmp en mi directorio \ Temp y Barry2.tmp en mi directorio \ Temp \ Temp2. Desde el directorio \ Temp puedo usar «/ S»

cambie para decirle a Findstr que busque subdirectorios. Se ve así:

(Vea la figura 3.)

image

Figura 3. Uso de / S para buscar subdirectorios.

Hay muchas más funciones que podría mostrarles, pero una última realmente merece una atención especial. Ese es el concepto de buscar usando expresiones regulares. La «Introducción a las expresiones regulares» se trata en otro consejo, pero quiero mostrarle cómo se puede usar una expresión regular en Findstr.

Supongamos que desea buscar la palabra «documento», pero solo aquellas apariciones que van seguidas de un signo de puntuación como una coma o un punto. La expresión regular para este tipo de búsqueda es «documento [,.]». Indicas a Findstr que tu cadena de búsqueda está usando una expresión regular especificando el modificador «/ R», y agreguemos el modificador «/ N» para que veamos los números de línea. Con lo que terminas es esto: (Ver Figura 4.)

image

Figura 4. Búsqueda usando una expresión regular.

Aún hay más en Findstr, pero espero haber abierto su apetito lo suficiente como para comenzar a usarlo cuando necesite hacer una búsqueda elegante de cadenas en archivos.

Este consejo (13505) se aplica a Windows 7, 8 y 10.