Título: Ayuda - Leer Caracter por Caracter Publicado por: SpesMod en 2 Febrero 2014, 18:19 pm Buenas, ando practicando esta programacion y la verdad se me anda complicando un poquito, vengo de C/C++ y lo que les voy a consultar ahora es un chancay de a 20 en C/C++ pero aqui en Bat se me hace dificil; bueno ahi va:
Resulta que quiero hacer un bat que lea un archivo *.txt caracter por caracter y a medida que lee los caracteres los vaya guardando en otro archivo pero con el valor ascii alterado sumandole 5, por ejemplo: Tengo el archivo FUENTE.TXT cuyo contenido es "hola"; el bat deberia hacer: lee "h", le suma 5 obteniendo "m" y guarda "m" en un nuevo archivo por ejemplo RESULTADO.TXT lee el siguiente caracter "o", le suma 5 obteniendo "t" y añade "t" en RESULTADO.TXT lee el siguiente caracter "l", le suma 5 obteniendo "q" y añade "q" en RESULTADO.TXT lee el siguiente caracter "a", le suma 5 obteniendo "f" y añade "f" en RESULTADO.TXT El resultado serian 2 archivos: FUENTE.TXT cuyo contenido seria "hola" RESULTADO.TXT cuyo contenido seria "mtqf" que en realidad es "hola" pero sumandole 5 posiciones ascii a cada uno de los caracteres. Creo haberme explicado bien y en realidad se que mi problema es muy sencillo para ustedes, en C/C++ esto lo podria hacer en menos de 5 lineas, pero aqui no me sale; asi que espero que me puedan ayudar. gracias de antemano :) ;D Título: Re: Ayuda - Leer Caracter por Caracter Publicado por: Eleкtro en 2 Febrero 2014, 19:08 pm es un chancay de a 20 en C/C++ pero aqui en Bat se me hace dificil Claro, Batch no dispone prácticamente de NADA util ni muhco menos de métodos/comandos para manejar ASCII o HEX para rotar caracteres (aunque se pueden improvisar cosas con el viejo truco del Exit Code). ¿Y si utilizas VBS (que lo puedes ejecutar como si se tratase de un archivo Bat) para escribir tu método de cifrado Caesar?: Cita de: http://demon.tw/programming/vbs-caesar.html Código
Saludos Título: Re: Ayuda - Leer Caracter por Caracter Publicado por: SpesMod en 2 Febrero 2014, 19:34 pm Hola, un gusto y gracias por responder tan pronto; en tu solucion el argumento está predefinido, como archivo VBS tendria que pasarle el archivo txt como argumento variable, no siempre va a contener lo mismo, ademas quisiera tambien poder enviarle el numero 5 como argumento.
Este VBS lo tendría que ejecutar con CALL desde otro bat verdad?, como lo ejecuto y le mando estos parametros (archivo y 5) para que los procese? Gracias! Título: Re: Ayuda - Leer Caracter por Caracter Publicado por: Eleкtro en 3 Febrero 2014, 07:03 am como lo ejecuto y le mando estos parametros (archivo y 5) para que los procese? No te lo tomes a mal pero para venir de un lenguaje como C/C++ te veo bastante perezoso para Googlear información básica (el manejo de argumentos en X lenguaje) :¬¬ ~> http://ss64.com/vb/arguments.html Entonces deberías reemplazar esta orden: Citar Código
Por esta otra: Código
Para llamar al Script y redireccionar la salida del Script a un archivo de texto puedes hacerlo así: Código
Como viste en el ejemplo uso un string como parámetro y no un archivo de texto "fuente.txt", la razón es que usar archivos de texto en mi opinión es primitivo, estoy convencido de que podrías trabajar diréctamente con Strings sin necesidad de crear/manipular archivos secundarios en el HDD, de todas formas te muestro los cambios que deberías hacer al Script VBS para tomar un archivo de texto como primer argumento: Código
En la consola...: Código
Saludos! |