24 dic 2013

pequeño login en batch

es un pequeño ejemplo de lo que hacer con batch pese a sus limitacion, tengan en cuenta que eso no ofrece mucha seguridad ya que cualquiera con un poco conocimiento sobre batch podria abrir y ver el usuario y contraseña asi que usadlo con moderacion.

@echo off
::esto es un comentario
::usuarios y contraseñas separados por punto y coma
::a junior le corresponde 01234 a pcpi 5678...
set usuarios=junior;pcpi;dantas;tutoriales
set passwords=01234;5678;901234;omega

:usuarios
cls
echo Inserte el nombre de usuario
::el modificador /P en set es para que escriba el usuario
set /p usuario=--^>

::defino un contador para listar los usuarios
set id=1
:U
::lista la variable %usuarios% separandola por ;
for /f "delims=; tokens=%id%" %%U in ("%usuarios%") do (
:: si existe el usuario verificar contraseña
if "%%U"=="%usuario%" goto password
:: el modficador /a en set sirve para hacer operaciones matematicas ejem: 1 + 1
:: asi que le sumo 1 al contador para comparar el siguiente usuario con él el que inserto el usuario
set /a id=%id% + 1 && goto U
)
cls
:: si el usuario introducido no esta en la lista mostrar eso
echo No existe el usuario pruebe con otro
pause>nul
goto usuarios

:: si el usuario existe comprovar contraseña
:password
:: defino el contador de contraseña erroneas
set pcont=1
:contador
cls
echo Inserte el password para %usuario%:
set /p pass=--^>
:: obtener la contraseña corrspondiente al usuario %id%
for /f "delims=; tokens=%id%" %%P in ("%passwords%") do (
:: si es correcta ir a OK
if "%%P"=="%pass%" goto OK
if "%pcont%" GEQ "3" goto Error
:: sino sumar el error e ir a contador para repetir la pregunta
set /a pcont=%pcont% + 1 && goto contador
)
:Error
echo No te reconosco
pause>nul
exit

:OK
echo ha iniciado sesion con exito
::aqui pones tu codigo
pause

No hay comentarios:

Publicar un comentario

Creado por Dantas.es