Intento hacer que el archivo me muestre varios codigos aleatorios a la vez, pero solo me muestra uno.
Ademas solo funciona la primera vez, a partir de la segunda ya muestra menos caracteres de los que se indican hasta que salta esto: Se ha alcanzado el maximo de recursividad de setlocal.
¿Como arreglarlo?
Ademas solo funciona la primera vez, a partir de la segunda ya muestra menos caracteres de los que se indican hasta que salta esto: Se ha alcanzado el maximo de recursividad de setlocal.
¿Como arreglarlo?
Código [Seleccionar]
@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=0123456789ABCDEFabcdef
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!
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
endlocal
goto :clave