elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ayuda con programa en batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con programa en batch  (Leído 2,676 veces)
MPG.h

Desconectado Desconectado

Mensajes: 3


http://img641.imageshack.us/img641/520/monoz.png


Ver Perfil
Ayuda con programa en batch
« en: 16 Febrero 2012, 17:53 pm »

Estoy programando un .bat que lee login y contraseña:

Código:
@echo off&goto:main&goto:EOF
:logi
rem Ingreso de Usuario
set log=0
set /p log=Ingrese Login:
goto:elogi

:logo
rem Proceso de Usuario
if %log%==User (set locg=1) else set logc=0
goto:elogo

:passi
rem Ingreso de contraseña
set pass=0
set /p pass=Ingrese Password:
goto:epassi

:passo
rem Proceso de contraseña
if %pass%==pass (set passc=1) else set passc=0
goto:epasso

:main
title BBCR Beta
echo Bienvenido
echo.
call:logi
:elogi
call:logo
:elogo
rem Chequeo de login
if logc=1 (echo Usuario Aceptado) else echo Usuario denegado&pause > nul&goto:EOF
call:passi
:epassi
call:passo
:epasso
rem Chequeo de pass
if passc=1 (echo Contraseña Aceptada) else echo Contraseña denegada&pause > nul&goto:EOF
pause
cls
echo Fin del programa
pause
exit

Al ingresar el login ( User ) el programa se cierra
Lo probe en el simbolo de sistema y me sale asi:

C:/dev/bat/login.bat
Bienvenido

Ingrese login:USER
No se esperaba =1 en este momento
 :huh:

Ideas?

PS:Mi primer post! ::)


En línea

Geormarsch

Desconectado Desconectado

Mensajes: 160



Ver Perfil
Re: Ayuda con programa en batch
« Respuesta #1 en: 16 Febrero 2012, 18:47 pm »

Toma este lo hice yo veamos que tal te funciona

Código
  1. @echo off
  2. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  3.  
  4. Color a
  5.  
  6. mode con cols=40 lines=15
  7.  
  8. Title USUARIO ^& PASSWORD
  9.  
  10. Set Usuario=Geormarsch
  11.  
  12. Set Pas=CACA
  13.  
  14. :::::::::::::::::::::::::::::::::::::::::::::::::::::::
  15.  
  16. :Sub_Menu
  17. cls
  18. Set /p User= Ingrese usuario ^>^>
  19. Set /p Pass= Ingrese pass ^>^>
  20. Goto Verificar
  21.  
  22. :::::::::::::::::::::::::::::::::::::::::::::::::::::::
  23.  
  24. :Verificar
  25. cls
  26. If %User%==%Usuario% (Goto Menu_)
  27. If %Pass%==%Pas% (Goto Menu_) Else (Goto Sub_Menu)
  28. If Not defined %User% Goto Sub_Menu
  29. If Not Defined %Pass% Goto Sub_Menu
  30.  
  31. :::::::::::::::::::::::::::::::::::::::::::::::::::::::
  32.  
  33. :Menu_
  34. cls
  35. echo Bienvenido %Usuario%
  36. REM Y AQUI VAN TUS COMANDOS ETC...


Salu2


En línea

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Ayuda con programa en batch
« Respuesta #2 en: 16 Febrero 2012, 19:09 pm »

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.



if logc=1

if logc==1

Y para evitar esos errores deberías usar "EQU" en todo el script, En vez de "="

De todas formas has echo un tremendo lio de bat con llamadas innecesarias, Se hace dificil de ver todo.


Aqui tienes mi versión.
A diferencia del code de Geormarsch, Este es más parecido a tu ejemplo, Primero comprueba el nombre de usuario y si es correcto no lo vuelve a pedir más, He intentado que se parezca al ejemplo de lo que buscas hacer.


Código
  1. @Echo OFF
  2. Title BBCR Beta
  3. Setlocal enabledelayedexpansion
  4.  
  5. Set User=Elektro
  6. Set Pass=Hacker
  7.  
  8. :Login
  9. ::::::
  10. Cls
  11.  
  12. If /I "%Usuario%:%Password%" EQU "%User%:%Pass%" (Goto :Fin)
  13.  
  14. If Defined Usuario (
  15. Echo: Ingrese la contrase¤a: | MORE
  16. Set /p Password=^>
  17. If NOT defined Password (Goto :Login)
  18. Call :Check !Password!
  19. ) ELSE (
  20. Echo: Ingrese el nombre de usuario: | MORE
  21. Set /p Usuario=^>
  22. If NOT defined usuario (Goto :Login)
  23. Call :Check !Usuario!
  24. )
  25.  
  26.  
  27. :Check
  28. ::::::
  29. If Defined Password (Set "Var=%Pass%" & Set "Var2=Contrase¤a") ELSE (Set "Var=%User%" & Set "Var2=Usuario")
  30.  
  31. Echo %*| Findstr /I /R "^%Var%$" >NUL
  32.  
  33. If %Errorlevel% EQU 0 (
  34. Echo: %Var2% aceptado. | MORE
  35. Ping -n 3 localhost >NUL
  36. Goto :Login
  37. ) ELSE (
  38. Echo: %Var2% denegado. | MORE
  39. If NOT Defined Password (Set Usuario=)
  40. Set Password=
  41. Ping -n 3 localhost >NUL
  42. Goto :Login
  43. )
  44.  
  45.  
  46. :Fin
  47. ::::
  48. Cls
  49. Echo: Fin del programa.


Salu2.
« Última modificación: 16 Febrero 2012, 19:12 pm por EleKtro H@cker » En línea



MPG.h

Desconectado Desconectado

Mensajes: 3


http://img641.imageshack.us/img641/520/monoz.png


Ver Perfil
Re: Ayuda con programa en batch
« Respuesta #3 en: 16 Febrero 2012, 19:33 pm »

vaya,hay dos o tres comandos que acabo de aprender
todo el programa era un experimento para testear algunas cosillas
estare probando los ejemplos que pusieron
gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con programa batch
Scripting
pkzz 2 3,451 Último mensaje 27 Febrero 2006, 17:08 pm
por pkzz
Necesito ayuda con mi programa en batch « 1 2 »
Programación General
Meine programmen 11 12,380 Último mensaje 16 Diciembre 2011, 21:52 pm
por Meine programmen
Ayuda con mi programa en batch
Scripting
Meine programmen 0 1,676 Último mensaje 17 Diciembre 2011, 22:16 pm
por Meine programmen
Ayuda con programa Batch al guardar ejecución
Programación General
Baphomet2204 2 2,551 Último mensaje 5 Diciembre 2018, 23:01 pm
por Baphomet2204
Ayuda, algo anda mal con mi programa batch
Programación General
Baphomet2204 0 2,200 Último mensaje 1 Marzo 2019, 18:10 pm
por Baphomet2204
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines