Título: ocultar texto en bat Publicado por: gAb1 en 9 Septiembre 2014, 00:37 am Hola, estoy creando un pequeño script para ocultar el ejecutable de un juego. Todo funciona perfectamente, pero me gustaría saber como ocultar o poner asteriscos cuando escribo la contraseña.
Este es el script: Código
He estado viendo en algunos foros scripts que funcionan, pero realmente no se como adaptarlos a lo que quiero. Agradecería cualquier consejo para mejorar y simplificar el script. Gracias. Título: Re: ocultar texto en bat Publicado por: Eleкtro en 9 Septiembre 2014, 02:39 am He estado viendo en algunos foros scripts que funcionan, pero realmente no se como adaptarlos a lo que quiero. La solución más sencilla, simplificada y eficiente sería la siguiente: Puedes usar la utilidad EditVar (x86 o x64 dependiendo de tu SO) > http://www.westmesatech.com/editv.html Código
(http://img803.imageshack.us/img803/1623/prtscrcaptureq.jpg) Otra solución igual de simplificada y eficiente sería -> esta (http://stackoverflow.com/questions/664957/can-i-mask-an-input-text-in-a-bat-file) <- pero necesitas un objeto ActiveX que parece existir solamente en XP. El resto de códigos, los cuales la mayoria son bastante largos, incómodos, y poco fiables, elaboraciones de casi cien lineas en algunos casos, ese tipo de códigos no me voy a molestar ni siquiera en nombrarlos, esto es Batch, un lenguaje simple que no fue diseñado para este tipo de tareas, si quieres hacer algo así la alternativa más fiable es depender de una aplicación de terceros (desarrollada en un lenguaje de verdad) como la que mencioné al principio. Agradecería cualquier consejo para mejorar y simplificar el script. Código Realizar comparaciones de esa manera no tienen sentido, puedes desactivar la distinción de mayusculas minúsculas con el parámetro /I : Código Aunque directamente, deberías utilizar el comando CHOICE para ese tipo de preguntas: Código
Código
No estás utilizando la sintaxis correcta que especifica el comando, échale un ojo a la ayuda del comando: Código
Pero de todas formas es innecesario el uso de dicho comando, basta con escribir: Código
Citar Ese tipo de repetición de código es innecesaria, debes utilizar ELSE. Código saludos Título: Re: ocultar texto en bat Publicado por: gAb1 en 10 Septiembre 2014, 13:44 pm Gracias, era lo que me esperaba, voy a utilizar esa aplicación. Tambien gracias por los consejos, parece que de esa manera funcionará mucho mejor el script, ya que lo voy a compilar y tiene que estar bien hecho.
Edito: Tengo un pequeño problema, y es que parece que la secuencia se repite en algun punto una sola vez, cuando se llama a la funcion END vuelve otra vez al principio, pero solo pasa una vez. No sé que puede ser. A parte, cuando existe el archivo test.txt y escribes n(o) deberia terminar, pero por alguna razón aparece el siguiente menu, como si hubieras escrito s(i) Código
Título: Re: ocultar texto en bat Publicado por: gAb1 en 10 Septiembre 2014, 15:20 pm ¿Por casualidad no sabrás por qué me da este error?
Citar Error 216: This version of "C:\Users\HOME~1\AppData\Local\Temp\afolder\EditV64 .exe" is not compatible with the version of Windows you're running. Check your c omputer's system information and then contact the software publisher. Invalid password Tal y como me dice la aplicación que uso para compilar - Advanced BAT to EXE Converter (v.91) - Utilizo la variable de entorno: %MYFILES%\EditV64 Sin compilar funciona perfectamente, tambien he probado a usar el editv64 de la carpeta temporal y tambien funciona. Es un problema del .exe o del compilador... ¿Alguna ayuda? Título: Re: ocultar texto en bat Publicado por: Eleкtro en 10 Septiembre 2014, 16:08 pm Tengo un pequeño problema, y es que parece que la secuencia se repite en algun punto una sola vez, cuando se llama a la funcion END vuelve otra vez al principio, pero solo pasa una vez. No sé que puede ser. Has de saber distinguir el uso de una llamada CALL de un GOTO. El problema es que cuando haces un CALL al bloque :CheckLocked, este a su vez hace un CALL al bloque :NOTLOCKED o al bloque :LOCKED, y el problema es que en ambos bloques :NOTLOCKED/:LOCKED haces un GOTO a :END, al no contener instrucciones el bloque :END, la llamada del CALL se acaba y vuelve al punto de inicio de ese CALL, es lo mismo que un GOTO:EOF. Para solucionarlo: Código
A parte, cuando existe el archivo test.txt y escribes n(o) deberia terminar, pero por alguna razón aparece el siguiente menu, como si hubieras escrito s(i) Es el mismo error que he comentado arriba, no estás terminando la ejecución del script, solo estás terminando una llamada a un bloque (CALL) así que vuelves a la linea en donde iniciaste ese CALL. ¿Por casualidad no sabrás por qué me da este error? Citar Error 216: This version of "C:\Users\HOME~1\AppData\Local\Temp\afolder\EditV64 .exe" is not compatible with the version of Windows you're running. Check your c omputer's system information and then contact the software publisher. Invalid password Me he fijado en que la versión de Editv32 y Editv64 son la misma (3.0.0.0), pero la versión de 32 Bits parece no funcionar o bien en Windows 8/81 o bien en equipos de 64 Bits (no lo he comprobado a fondo). Solo el propio desarrollador sabrá porque motivo ha querido imponer esa denegación de ejecución de la versión de 32 Bits, pero en caso de que no sea una limitación de uso en "X" versión de Windows entonces esto debería funcionar: Código
PD: No he echo la prueba en un Windows 7/8 x86. Saludos Título: Re: ocultar texto en bat Publicado por: gAb1 en 10 Septiembre 2014, 19:05 pm Cierto, que error más tonto... ahora ya se la diferencia de CALL y GOTO :)
Respecto al programa, es extraño porque funciona bien desde el archivo .bat y el sistema operativo es windows 8.1 pro 64. El ordenador donde lo voy a usar es un windows 7 profesional 64. El problema es que me sale ese error cuando lo ejecuto desde el archivo compilado .exe Lo que no sé es donde utilizar eso que me has dicho, ¿en que parte del script lo pongo? Gracias. Edito: ¿Tal vez deba añadir el programa a la variable del entorno y moverlo a la carpeta del sistemta? Porque funciona perfectamente si se usa con el archivo bat... Edito 2: Al final he encontrado un trozo de codigo, al parecer es powershell pero funciona perfectamente. Código
Título: Re: ocultar texto en bat Publicado por: Eleкtro en 15 Septiembre 2014, 05:06 am Edito 2: Al final he encontrado un trozo de codigo, al parecer es powershell pero funciona perfectamente. Código
Solo comento para decir muy pero que muy buena alternativa, pero como siempre en Batch se debe recurrir a la utilización de otro lenguaje y/o herramienta externa para llevar a cabo algunos propósitos de forma eficiente. Saludos! |