Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Mauricio De Abreu en 8 Febrero 2022, 13:30 pm



Título: Buscar exacta de una cadena de texto dentro de un archivo
Publicado por: Mauricio De Abreu en 8 Febrero 2022, 13:30 pm
Buenas amigos, antes que nada pido disculpas si coloco el tema fuera de lugar.

Tengo un batch, en el que realizo una búsqueda de un serial dentro de un archivo txt, la cuestión es que si en ese archivo txt le agrego un carácter mas al final de ese serial, me lo sigue tomando como correcto.

Así que me preguntaba si había una forma de realizar la búsqueda exacta de esa cadena de texto (serial).

Agradecido de antemano por la ayuda que me puedan brindar


Título: Re: Buscar exacta de una cadena de texto dentro de un archivo
Publicado por: EdePC en 8 Febrero 2022, 15:24 pm
Depende mucho de como esté conformado tu archivo de txt, recuerda que Find y FindStr buscan en líneas. Suponiendo que tienes cada serial únicamente en una línea por ejemplo:

Cita de: archivo.txt
123456789
a123456789
123456789b
 123456789
123456789

- Nótese la penúltima línea tiene un espacio delante y la última tiene un espacio al final

Código
  1. :: Buscar 123456789 exacto en una linea
  2. FindStr /B /E "123456789" archivo.txt
  3. 123456789

/B especifica que la línea empiece con el texto buscado, y /E especifica que la línea termine con el texto buscado. FindStr es un comando muy potente, puedes ver la referencia de comandos en español en la ayuda de la Consola o más recomiendo descargar la referencia en formato CHM que es más detallada y muestra ejemplos (extraído de un Windows XP, debes usar el INDICE):
https://mega.nz/file/woBkmJIJ#eHbMbUIRW2u0SGlFx9h-_gyUE0jQHD-A7irGe3wvxsY

(https://i.ibb.co/zhHCSMn/ntcmds.png)


Título: Re: Buscar exacta de una cadena de texto dentro de un archivo
Publicado por: Mauricio De Abreu en 8 Febrero 2022, 19:29 pm
Muchísimas gracias por responder.

Si, los seriales esta en una columna, me pareció lo mas lógico.

Con tu ejemplo, ahora entiendo las descripciones de los comandos que encontré en esta pagina https://docs.microsoft.com/es-es/windows-server/administration/windows-commands/findstr (https://docs.microsoft.com/es-es/windows-server/administration/windows-commands/findstr)

Pero como no me quedaba clara la descripción del /B y el /E o como usarlos, use el "Findstr /x", de hecho probe con /L pero no me funciono

Gracias nuevamente, voy a realizar las correcciones que me indicas.

Por cierto, muchísimas gracias por el archivo, ya lo descargue, voy a meterle la lupa....