Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - RainSix

#101
Cita de: Eleкtro en 19 Marzo 2019, 00:07 AM
Pues ya que estamos, y aunque doy mal ejemplo al continuar comentando en un thread del 2016, comparto nostalgicamente este proyecto que hice en Batch-script y que les podría servir:


Saludos.

Me acabo de mirar todo el post y me quedo sin palabras... Me he pasado una tarde mirando el código y entenderlo paso a paso, hasta le he implementado algún que otra posibilidad de serial como de 5x3 o 6x3, y pese que se me ha pasado algún que otro error al final he logrado que funcione. Una maravilla de código, mis 10, agradezco que lo hayas compartido.

Saludos.
#102
Buenas justo andaba mirando generadores por el foro, y me ha surgido la necesidad de registrarme para responderte, lo cierto es que ya tardaba porque me he mirado muchas veces este foro y me encanta.

Creo que el problema despues de haberlo probado yo personalmente es que el endlocal esta mal puesto, por eso te daba el error de maximo de recursividad del setlocal. Te adjunto el codigo que a mi me ha funcionado:

@Echo Off
:menu
cls
echo Generador de Claves
echo.
echo 1. Generar Clave.
echo 2. Salir.
set /p var=
if %var%==1 goto :pregunta
if %var%==2 goto exit
if %var% gtr 2 echo error
goto :menu

:pregunta
cls
set /p lengthnumberuser="Cantidad de caracteres? "
if %lengthnumberuser% gtr 0 goto :clave
if %lengthnumberuser% == 0 echo error
goto :pregunta

:clave
cls
Setlocal EnableDelayedExpansion
Set _RNDLength=%lengthnumberuser%
Set _Alphanumeric=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Set _Str=%_Alphanumeric%9876543210
:_LenLoop
IF NOT "%_Str:~18%"=="" SET _Str=%_Str:~9%& SET /A _Len+=9& goto :_LenLoop
SET _tmp=%_Str:~9,1%
SET /A _Len=_Len+_tmp
Set _count=0
SET _RndAlphaNum=
:_loop
Set /a _count+=1
SET _RND=%Random%
Set /A _RND=_RND%%%_Len%
SET _RndAlphaNum=!_RndAlphaNum!!_Alphanumeric:~%_RND%,1!
If !_count! lss %_RNDLength% goto :_loop
echo Clave Aleatoria: !_RndAlphaNum!
endlocal
echo.
echo 1. Generar Clave
echo 2. Volver
set /p var=
if %var%==1 goto :pregunta
if %var%==2 goto :menu
if %var% gtr 2 echo error