@ ECHO OFF & SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
   SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
 :_MENU
   CLS
   ECHO Seguridad en contrase¤a:
   ECHO.
   ECHO 1. Baja
   ECHO 2. Media
   ECHO 3. Alta
   ECHO.
   ECHO 0. Salir
   ECHO.
  (SET SECLEVEL=)
  (SET /P SECLEVEL_=^> )
   IF NOT DEFINED SECLEVEL_ (GOTO:_MENU)
   IF ^%SECLEVEL_:~0,1%==1 (SET MAXCHAR=25&GOTO:_LENGHT)
   IF ^%SECLEVEL_:~0,1%==2 (SET MAXCHAR=51&GOTO:_LENGHT)
   IF ^%SECLEVEL_:~0,1%==3 (SET MAXCHAR=77&GOTO:_LENGHT)
   IF ^%SECLEVEL_:~0,1%==0 (EXIT)
   GOTO:_MENU
 :_LENGHT
   CLS
   ECHO Longitud de contrase¤a:
   ECHO.
  (SET PASSWORDLENGTH=)
  (SET /P PASSWORDLENGTH_=^> )
   IF NOT DEFINED PASSWORDLENGTH_ (GOTO:_MENU)
   (SET RESULT_=)
   FOR /L %%I IN (1,1,%PASSWORDLENGTH_%) DO (
   CALL :_ONERANDOMCHAR %MAXCHAR% RNDCHR_
   SET RESULT_=!RESULT_!!RNDCHR_!
  )
   ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
   IF ^%ERRORLEVEL%==0 SET FOUNDNUMBER=TRUE
   ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
   IF ^%ERRORLEVEL%==0 SET FOUNDSPECIAL=TRUE
   IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
   IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
   GOTO:_RESULT
 :_ONERANDOMCHAR
   SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
   SET /A DIV_=32767 / %1
   SET /A RAND_=%RANDOM% / %DIV_%
   SET RETURN_=!CHARS:~%RAND_%,1!
   ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
 :_RESULT
   CLS
   ECHO Contrase¤a generada:
   ECHO.
   ECHO %RESULT_%
   ECHO.
   PAUSE
   GOTO:_MENU
Escrito por mi, con la ayuda del código "Make a randomized password" de Timo Salmi.
			
			
			
				anda a acordarte de esa pass xD
ta bueno  , me gusta el code
			
			
			
				_m me gusta mucho es buena idea.
Como podría tener un archivo bat que genere contraseñas de 50 caracteres sin seleccionar opción.
Uno para la opcion 1, otro para la opcion 2, etc...
En diferentes archivos bat
Salu2
			
			
			
				Seguridad en contraseña: Baja
Longitud de contraseña: 50 carácteres
@ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_START
(SET RESULT_=)
FOR /L %%I IN (1,1,50) DO (
CALL :_ONERANDOMCHAR 25 RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
CLS
ECHO.%RESULT_%
ECHO.
PAUSE
GOTO:_START
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
Seguridad en contraseña: Media
Longitud de contraseña: 50 carácteres
@ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_START
(SET RESULT_=)
FOR /L %%I IN (1,1,50) DO (
CALL :_ONERANDOMCHAR 51 RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
CLS
ECHO.%RESULT_%
ECHO.
PAUSE
GOTO:_START
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF
Seguridad en contraseña: Alta
Longitud de contraseña: 50 carácteres
@ECHO OFF&SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 @#/()=+-,.;:_*'
:_START
(SET RESULT_=)
FOR /L %%I IN (1,1,50) DO (
CALL :_ONERANDOMCHAR 77 RNDCHR_
SET RESULT_=!RESULT_!!RNDCHR_!
)
ECHO %RESULT_%|FINDSTR "[0123456789]">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDNUMBER=TRUE
ECHO %RESULT_%|FINDSTR "[ @#/()=+-,.;:_*']">NUL
IF %ERRORLEVEL% EQU 0 SET FOUNDSPECIAL=TRUE
IF DEFINED REQUIRENUMBER IF NOT DEFINED FOUNDNUMBER GOTO:_ONERANDOMCHAR
IF DEFINED REQUIRESPECIAL IF NOT DEFINED FOUNDSPECIAL GOTO:_ONERANDOMCHAR
CLS
ECHO.%RESULT_%
ECHO.
PAUSE
GOTO:_START
:_ONERANDOMCHAR
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET /A DIV_=32767 / %1
SET /A RAND_=%RANDOM% / %DIV_%
SET RETURN_=!CHARS:~%RAND_%,1!
ENDLOCAL & SET "%2=%RETURN_%" & GOTO:EOF