Título: Encontrar palabra en .txt y crear variable Publicado por: erikcatala en 4 Agosto 2016, 22:50 pm Hola, estoy tratando de buscar una palabra en concreto en un archivo .txt con batch, exactamente ro.product.device=libra. La palabra puede cambiar pero ro.product.device= siempre es igual. Me gustaría que la palabra que cambia poder guardarla en una variable.
He probado con buscar la palabra y guardar la linea en un .txt y luego reemplazar la parte ro.product.device= por nada pero siempre me queda =libra y no puedo borrar el =. A ver si alguien me puede ayudar porque no consigo hacer lo que quiero Título: Re: Encontrar palabra en .txt y crear variable Publicado por: Eleкtro en 5 Agosto 2016, 11:56 am He probado con buscar la palabra y guardar la linea en un .txt y luego reemplazar la parte ro.product.device= por nada pero siempre me queda =libra y no puedo borrar el =. A ver si alguien me puede ayudar porque no consigo hacer lo que quiero Hola. Si ya tienes una solución casi completa, entonces es mejor que muestres tu código para poder corregírtelo y que puedas eliminar el caracter "=". Saludos! Título: Re: Encontrar palabra en .txt y crear variable Publicado por: erikcatala en 5 Agosto 2016, 15:42 pm No es la mejor opción pero es la que se me ocurrió con lo que se de batch. Se podría hacer mucho mejor, pero esta es la única que se me ha ocurrido y podía hacer. El script son 2 scripts que he encontrado por internet y que he adaptado. Uno para encontrar una linea de un texto y hacer una variable y el otro para reemplazar una palabra por otra en un texto.
Código: setlocal DisableDelayedExpansion Título: Re: Encontrar palabra en .txt y crear variable Publicado por: Eleкtro en 5 Agosto 2016, 17:34 pm Me gustaría que la palabra que cambia poder guardarla en una variable. Puedes hacerlo de la siguiente manera: Código Saludos Título: Re: Encontrar palabra en .txt y crear variable Publicado por: erikcatala en 5 Agosto 2016, 17:41 pm Muchas gracias, me ha funcionado ;-)
Código: "Tokens=2* Delims==" Esta parte supongo que elimina = pero no acabo de entenderlo muy bien, podrías explicármelo por favor? EDIT: Este post me ha ayudado a entenderlo un poco mejor http://foro.elhacker.net/scripting/batchalmacenar_el_contenido_de_un_archivo_txt_en_una_variable-t201944.0.html Título: Re: Encontrar palabra en .txt y crear variable Publicado por: Eleкtro en 5 Agosto 2016, 18:15 pm Código: "Tokens=2* Delims==" Esta parte supongo que elimina = pero no acabo de entenderlo muy bien, podrías explicármelo por favor? No elimina nada, sino que lo separa en un token. El parámetro "Tokens" determina la posición y la cantidad de tokens (partes) que se almacenan en las variables de For (%%a...%%z), y el parámetro "Delims" indica el caracter o caracteres delimitadores. Cuando el For encuentra dicho caracter o caracteres, se parte la frase en el siguiente token, y así sucesivamente. En los parámetros "Tokens=2* Delims==" uso como caracter delimitador "=", e ignoro el token número 1 (lo que está a la izquierda del caracter delimitador "="), por que no es necesario leerlo. Token 1 (o %%a): ro.product.device= Token 2 (o %%b): valor Saludos |