Título: Extraer variable de un archivo de texto (BATCH) Publicado por: rafaeljoseyepez en 8 Noviembre 2020, 21:19 pm Saludos, vengo acá con una pregunta que pudiera parecer algo tonta, pero no logro resolverlo, a ver si ustedes se les ocurre una mejor idea.
tengo un archivo de texto llamado calificar.txt con este contenido: Código
todo en una sola línea... lo que quiero es extraer de esa línea dos variables LIKES y DISLIKES... de modo que el resultado de esto: echo LIKES: %LIKES% DISLIKES: %DISLIKES% sea esto: LIKES: 21 DISLIKES: 3 Se me había ocurrido contar los caracteres: Código
funciona, pero... con los dislikes no funcionaría si a veces los likes son de 2 dígitos y a veces de 1, entonces el dislike a veces se mostraría bien y otras veces no... ¿Qué me sugieren para resolverlo? Título: Re: Extraer variable de un archivo de texto (BATCH) Publicado por: EdePC en 8 Noviembre 2020, 23:20 pm Para hacer token-ización se usa el For /F, puedes ver su referencia completa en: https://ss64.com/nt/for_f.html
Código
Prueba: Citar C:\Users\EdSon\Desktop>type calificar.txt <td> <input type='image' src='../img/up.png' width='20px' height='20px' value='Like' id='like_28097' class='like'> <small><b>(<span id='likes_28097'>21</span>)</small></b> <input type='image' src='../img/down.png' width='20px' height='20px' value='Unlike' id='unlike_28097' class='unlike'> <small><b>(<span id='unlikes_28097'>3</span>)</small></b> </td> C:\Users\EdSon\Desktop>type likes.cmd @Echo Off For /F "tokens=10,22 delims=<,>" %%a In (calificar.txt) Do Echo LIKES: %%a DISLIKES: %%b Pause C:\Users\EdSon\Desktop>likes.cmd LIKES: 21 DISLIKES: 3 Presione una tecla para continuar . . . Título: Re: Extraer variable de un archivo de texto (BATCH) Publicado por: rafaeljoseyepez en 9 Noviembre 2020, 02:45 am Excelente, me funcionó perfecto, y ¿Cómo haría para establecerlos como variables?
Intenté con esto y no funcionó: Código Título: Re: Extraer variable de un archivo de texto (BATCH) Publicado por: EdePC en 9 Noviembre 2020, 04:04 am Tienes que agrupar las instrucciones a ejecutar con Do entre paréntesis, esto si son más de uno, caso contrario tal como puse en el ejemplo anterior no es necesario para una sola instrucción o instrucciones seguidas en la misma línea:
Código
Instrucciones seguidas en la misma línea: Código
- Uso las comillas para evitar que se agregue en espacio que dejo antes del & y porque así recomiendan para evitar problemas con espacios en el contenido de las variables Siempre puedes tener a mano este tutorial de Batch: Tutorial de Programación Batch (Nikos3194, 2013) https://sites.google.com/site/nikos3194rfcindex/Tutorial%20de%20programacion%20Batch%20%5Bfinal%5D.pdf Y por supuesto la misma ayuda de poniendo el /?, Ej: for /? Para cosas más detalladas está la referencia de Batch en inglés: https://ss64.com/nt/ Título: Re: Extraer variable de un archivo de texto (BATCH) Publicado por: Danielㅤ en 9 Noviembre 2020, 13:59 pm Hola, en mis primeros comienzos en programación he aprendido Bach y he usado este tutorial:
[PDF] Tutorial de Batch para novatos - Juanla CURSO DE BATCH DESDE 0 – POR JUANLA https://ensayandopopup.webcindario.com/pdfs/batch.pdf Me ayudó bastante para poder aprender sobre batch. No sé porque pero con el tiempo y hasta hoy en día he visto muchos otros tutoriales de Bach pero éste que dejé no lo he vuelto a ver... qué raro parece como que quedó en el olvido siendo un muy buen tutorial y que de ese tutorial/curso he aprendido bastante. Saludos Título: Re: Extraer variable de un archivo de texto (BATCH) Publicado por: rafaeljoseyepez en 15 Diciembre 2020, 00:18 am Tienes que agrupar las instrucciones a ejecutar con Do entre paréntesis, esto si son más de uno, caso contrario tal como puse en el ejemplo anterior no es necesario para una sola instrucción o instrucciones seguidas en la misma línea: Código
Instrucciones seguidas en la misma línea: Código
- Uso las comillas para evitar que se agregue en espacio que dejo antes del & y porque así recomiendan para evitar problemas con espacios en el contenido de las variables Siempre puedes tener a mano este tutorial de Batch: Tutorial de Programación Batch (Nikos3194, 2013) https://sites.google.com/site/nikos3194rfcindex/Tutorial%20de%20programacion%20Batch%20%5Bfinal%5D.pdf Y por supuesto la misma ayuda de poniendo el /?, Ej: for /? Para cosas más detalladas está la referencia de Batch en inglés: https://ss64.com/nt/ Muchísimas gracias, de verdad fue de mucha ayuda :D |