Los codigos que usaban vbs no me han funcionado. Supongo que tendria que modificar la ruta donde se aloja el bat o algo, ya que me decia que faltaba el archivo .vbs
Como me funcionó el codigo escrito exclusivamente en batch, posteado por maty_16_94 decidí usarlo. Tuve que hacer algunos cambios ya que necesitaba que si se metia la clave se cargase un menu y si no, no. Tambien me pareció oportuno que si se cometia un error al introducir la clave te diese mas oportunidades.
Aunque el codigo funciona hay algo que no entiendo y no me conformo con que funcione, me gustaria entenderlo, jejeje. Y tambien, si he cometido alguna barbaridad, saberlo y corregirla
¿Porque se ejecuta la etiqueta reinicio antes de cometer ningun fallo? En un principio iba a duplicar esas lineas pero al meter un pause en la etiqueta reinicio vi que se ejecuta nada mas arrancar. Luego hice el contador de errores y ya puedo mostrar el texto de clave incorrecta, pero me ha quedado esa duda.
Es la primera vez que uso call, supongo que por ahi se me escapa algo.
Tambien me gustaria saber que hace el archivo reply.exe
Código
@echo off Title Usando Asteriscos en una Clave ::Escrito por Carlos inicialmente set /a intentos=3 set MensajeIntoduzcaClave="Introduzca la clave de acceso:" :reinicio set PWL= set letra= set/a contador=0 set /a TAM=10 set PASSWORD=1234 call:prompt :inicio reply.exe goto:eof :fin echo. rem set/p pass=Password <nul goto:correcta goto:incorrecta ) goto:eof :correcta cls echo. goto Menu goto:eof :incorrecta echo Clave incorrecta. echo Pulsa una tecla para volver a probar. pause>nul goto reinicio echo Se ha superado el numero de intentos. pause>nul ) :ascii goto:inicio :contador set/a contador+=1 call:asterisc goto:inicio :borrar set/a contador-=1 call:prompt goto:eof :reply ( echo n reply.dat echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00 echo rcx echo 002E echo w0 echo q echo. )>reply.dat ren reply.dat "REPLY.EXE" goto:eof :prompt cls goto:eof :asterisc goto:eof :Menu echo. echo Menu: echo. echo 1. Decir Hola echo 2. Decir Adios echo 0. Salir echo. set /p var=Elige opcion: goto Menu :hola echo. echo Hola echo. goto Menu :adios echo. echo Adios echo. goto Menu