martes, 6 de enero de 2009

Ideas generales para crear un .bat IV

Antes hemos visto que con set puedes poner un número (random) o letras (var). Este es el método estandar. Podemos poner cualquier valor, letra o número, con el nombre que queramos, es decir, no tiene que ser random o var. Por ejemplo:

set /p random=
if "%random%" LSS 4 goto error

Pues ahora, podemos sustituir el 'random' por cualquier nombre. Esto es útil cuando hay muchos set con random, y no distinguimos cual es uno y cual es otro. Tambien, en if, podemos eliminar las comillas (") y dejar solo %random%, porque %a% es el valor de a.
Esto se queda así:

set /p disco=
if %disco% == C copy file.txt c:\file2.txt

Así no nos confundimos, y sabemos lo que queremos poner. Por lo tanto, podemos hacer comparaciones de distintos vaores. Por ejemlo, tenemos un valor, uno, y otro valor, dos, y queremos que salga el texto MAL si son iguales. Entonces ponemo esto:

set /p uno=
set /p dos=
if %uno% EQU %dos% echo MAL

Primero determinamos los valores y despues hacemos la comparación.

¿No habéis visto que algunas veces, cuando introducimos un dato, nos aparece en una frase? Por ejemplo, si ponemos nuestro nombre, Pepe. Luego en una frase, nos sale: Hola, Pepe. Esto también se puede hacer, y está relacionado con %esto%. Verás:

  • Primero introducios un dato, o dos... vamos a ntroducir esta vez dos datos, uno el nombre y otro la edad. Como ves, son número y letras, y no usamos ni random ni var.
set /p nombre=
set /p edad=
  • Ahora, vamos a introducirlos en una frase (con echo, ¿verdad?). Hemos puesto, en el nombre, Lucas, y en la edad 33. Si queremos que salga: Eres Lucas y tienes 33 años, tenemos que poner esto:
echo Eres %nombre% y tienes %edad% años.
  • Si queremos que algún valor vaya entre comillas, o entre algún signo, podemos hacerlo. Si queremos poner comillas (' ') en Lucas, ponemos, en vez de %nombre%, '%nombre%'.

Vamos a la práctica. Tenemos que crear una cuenta, Nombre, Edad y Contraseña. Hay que introducir los datos. Ponemos:

Nombre:
set /p nombre=
Edad:
set /p edad=
Contraseña:
set /p contraseña=

Ahora, tenemos que mostrarle los datos al nuevo usuario:

cls
echo.
echo Su nombre de usuario es %nombre%, su edad es de %edad% años y su contraseña es %contraseña%. Recuerdelo.

Ahora, vamos a iniciar sesión. Hay que introducir el nombre de usuario tal y como lo hemos puesto en %usuario%. Si no está bien, aparece un mensaje de error, y se vuelve a introducir el usuario. Ponemos

:user
cls
echo.
echo USUARIO / USER
set /p usuario1=
if %usuario1% NEQ %usuario% goto error
if %usuario1% == %usuario% goto ok

:error
echo.
echo El nombre de usuario no coincide. Vuelva a ponerlo.
echo.
pause
goto user

:ok
echo.
echo Bienvenido, %user1%
echo.
pause

No hay comentarios: