findstr

Busca patrones de texto en archivos.

Sintaxis

findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]

Parámetros

Parámetro Descripción
/b Coincide con el patrón de texto si está al principio de una línea.
/e Coincide con el patrón de texto si está al final de una línea.
/l Procesa cadenas de búsqueda literalmente.
/r Procesa cadenas de búsqueda como expresiones regulares. Esta es la configuración predeterminada.
/s Busca en el directorio actual y en todos los subdirectorios.
/i Omite el caso de los caracteres al buscar la cadena.
/x Imprime líneas que coinciden exactamente.
/v Imprime solo líneas que no contienen una coincidencia.
/n Imprime el número de línea de cada línea que coincida.
/m Imprime solo el nombre de archivo si un archivo contiene una coincidencia.
/o Imprime el desplazamiento de caracteres antes de cada línea coincidente.
/p Omite los archivos con caracteres no imprimibles.
/off[line] No omite los archivos que tienen establecido el atributo sin conexión.
/f:<file> Obtiene una lista de archivos del archivo especificado.
/c:<string> Usa el texto especificado como una cadena de búsqueda literal.
/g:<file> Obtiene cadenas de búsqueda del archivo especificado.
/d:<dirlist> Busca en la lista especificada de directorios. Cada directorio debe estar separado con un punto y coma (;), por ejemplo dir1;dir2;dir3.
/a:<colorattribute> Especifica atributos de color con dos dígitos hexadecimales. Escriba color /? para obtener información adicional.
<strings> Especifica el texto que se va a buscar en el nombre de archivo. Necesario.
[\<drive>:][<path>]<filename>[...] Especifica la ubicación y los archivos que se van a buscar. Se requiere al menos un archivo.
/? Muestra la Ayuda en el símbolo del sistema.

Notas

  • Todas las opciones de línea de comandos findstr deben preceder a cadenas y nombre de archivo en la cadena de comandos.

  • Las expresiones regulares usan caracteres literales y metacaracteres para buscar patrones de texto, en lugar de cadenas exactas de caracteres.

    • Un carácter literal es un carácter que no tiene un significado especial en la sintaxis de expresión regular; en su lugar, coincide con una aparición de ese carácter. Por ejemplo, las letras y los números son caracteres literales.

    • Un metacarácter es un símbolo con significado especial (un operador o delimitador) en la sintaxis de expresión regular.

      Los metacaracteres aceptados son:

      Metacarácter Valor
      . Carácter comodín: cualquier carácter
      * Repetir: cero o más repeticiones del carácter o clase anterior
      ^ Posición de línea inicial: principio de la línea
      $ Posición final de la línea: final de la línea
      [class] Clase de caracteres: cualquier carácter de un conjunto
      [^class] Clase inversa: cualquier carácter que no esté en un conjunto
      [x-y] Intervalo: cualquier carácter dentro del intervalo especificado
      \x Escape: uso literal de un metacarácter
      \<string Posición inicial de la palabra: principio de la palabra
      string\> Posición final de la palabra: final de la palabra

      Los caracteres especiales de la sintaxis de expresiones regulares tienen más potencia al usarlos juntos. Por ejemplo, use la combinación del carácter comodín (.) y repita (*) para que coincida con cualquier cadena de caracteres: .*.

      Use la siguiente expresión como parte de una expresión mayor para hacer coincidir cualquier cadena que comienza por b y termina con ing: b.*ing

  • Para buscar varias cadenas en un conjunto de archivos, debe crear un archivo de texto que contenga cada criterio de búsqueda en una línea independiente.

  • Use espacios para separar varias cadenas de búsqueda a menos que el argumento tenga el prefijo /c.

Ejemplos

Para buscar hello o there el archivo x.y, escriba:

findstr hello there x.y

Para buscar hello there el archivo x.y, escriba:

findstr /c:"hello there" x.y

Para buscar todas las apariciones de la palabra Windows (con una letra mayúscula inicial W) en el archivo proposal.txt, escriba:

findstr Windows proposal.txt

Para buscar en todos los archivos del directorio actual y todos los subdirectorios que contenían la palabra Windows, independientemente de las mayúsculas y minúsculas, escriba:

findstr /s /i Windows *.*

Para buscar todas las apariciones de líneas que comienzan por FOR y van precedidas por cero o más espacios (como en un bucle de programa de equipo) y para mostrar el número de línea donde se encuentra cada repetición, escriba:

findstr /b /n /r /c:^ *FOR *.bas

Para enumerar los archivos exactos que desea buscar en un archivo de texto, use los criterios de búsqueda del archivo stringlist.txt, para buscar los archivos enumerados filelist.txt, a continuación, para almacenar los resultados en el archivo results.out, escriba:

findstr /g:stringlist.txt /f:filelist.txt > results.out

Para enumerar todos los archivos que contienen la palabra computer dentro del directorio actual y todos los subdirectorios, independientemente de las mayúsculas y minúsculas, escriba:

findstr /s /i /m \<computer\> *.*

Para enumerar todos los archivos que contengan la palabra “computer“ y cualquier otra palabra que comience por comp (por ejemplo, complementar y competir), escriba:

findstr /s /i /m \<comp.* *.*