Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Meta en 3 Junio 2009, 23:00 pm



Título: Hacer un contador de error con bat [SOLUCIONADO]
Publicado por: Meta en 3 Junio 2009, 23:00 pm
Hola:

Quiero hacer que al ejecutar este archivo .bat una función. Como tengo el código de abajo, me funciona bien en un sentido que es, que siempre cuando te equivocas en la contraseña, siempre te lo vuelve a pedir.

Me gustaría hacer que si te equivocas tres veces la contraseña, el archivo bat sale de ella.

¿Cómo puedo hacerlo?

Código
  1. @ECHO OFF
  2. TITLE MySQL
  3. ECHO Bienvenido a la base de datos MySQL
  4. :Main
  5. CD C:\Archivos de programa\MySQL\MySQL Server 5.1\bin
  6. mysql.exe -h localhost -u Usuario -p
  7. GOTO Main
  8.  

Saludos.


Título: Re: Hacer un contador de error con bat
Publicado por: leogtz en 4 Junio 2009, 04:44 am
Pero si no te equivocas en la contraseña?, que pasa?

Habria que ver que ERRORLEVEL devuelve el ejecutable "mysql.exe" cuando se le pasa como parametro una contraseña incorrecta.

Prueba esto:
Código:
@echo off
cd /d "C:\Archivos de programa\MySQL\MySQL Server 5.1\bin"
set /a "contador=0"
:code
mysql.exe -h localhost -u Usuario -p
if %errorlevel% neq 0 (set /a "contador+=1")
if %contador% equ 3 (
echo Has fallado demasiado
pause>nul
exit /b 1
)
goto:code

Nota: El codigo anterior no ha sido probado, debido a que no poseo dicho ejecutable.

Saludos.


Título: Re: Hacer un contador de error con bat
Publicado por: Meta en 4 Junio 2009, 05:00 am
Muchas gracias amigo.

Ahora si me funciona, aunque he cambiado el código a mi manera.

Código
  1. @ECHO OFF
  2. TITLE MYSQL
  3. ECHO Bienvenido a la base de datos MySQL
  4. CD /d "C:\Archivos de programa\MySQL\MySQL Server 5.1\bin"
  5. set /a "contador=0"
  6. :code
  7. mysql.exe -h localhost -u Acaymo -p
  8. if %errorlevel% neq 0 (set /a "contador+=1")
  9. if %contador% equ 3 (
  10. ECHO Has fallado demasiadas veces la contrase¤a.
  11. PAUSE>NUL
  12. EXIT /b 1
  13. )
  14. ECHO Hora: %TIME%
  15. ECHO Fecha: %DATE%
  16. GOTO:code
  17.  
  18.  


Título: Re: Hacer un contador de error con bat
Publicado por: leogtz en 4 Junio 2009, 05:02 am
Muchas gracias amigo.

Ahora si me funciona, aunque he cambiado el código a mi manera.

Código
  1. @ECHO OFF
  2. TITLE MYSQL
  3. ECHO Bienvenido a la base de datos MySQL
  4. CD /d "C:\Archivos de programa\MySQL\MySQL Server 5.1\bin"
  5. set /a "contador=0"
  6. :code
  7. mysql.exe -h localhost -u Acaymo -p
  8. if %errorlevel% neq 0 (set /a "contador+=1")
  9. if %contador% equ 3 (
  10. ECHO Has fallado demasiadas veces la contrase¤a.
  11. PAUSE>NUL
  12. EXIT /b 1
  13. )
  14. ECHO Hora: %TIME%
  15. ECHO Fecha: %DATE%
  16. GOTO:code
  17.  
  18.  


Bien, tema solucionado.