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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Ayuda con codigo batch.
« en: 26 Julio 2015, 18:24 pm »

Estoy haciendo un codigo que simula ser un buscador, por deiclo así, de gastos

El codigo es este:
Código
  1. @echo off
  2. Set /p n=Nombre y Apellido:
  3. cls
  4. Set /p c=CCID:
  5. goto kak
  6.  
  7. :kak
  8. cls
  9. set numero=%random%
  10. if %numero% GEQ 7 goto kak
  11. if %numero% LEQ 0 goto kak
  12. if %numero% 1 goto Juicio
  13. if %numero% 3 goto Apuestas
  14. if %numero% 2 goto Nose
  15. if %numero% 4 goto Compra
  16. if %numero% 5 goto Impuestos
  17. if %numero% 6 goto Robo
  18. goto kak
  19.  
  20. :Juicio
  21. set motivo=Juicio
  22.  
  23. :Apuestas
  24. set motivo=Apuesta
  25.  
  26. :Nose
  27. set motivo=Error
  28.  
  29. :Compra
  30. set motivo=Compra
  31.  
  32. :Impuestos
  33. set motivo=Impuestos
  34.  
  35. :Robo
  36. set motivo=Robo
  37.  
  38. :S
  39. echo hola
  40. cls
  41. set dinero=%random%
  42. if %dinero% GEQ 10000 goto S
  43. if %dinero% LEQ 40 goto S
  44. cls
  45. echo Perdio %dinero% por %motivo%
  46. pause>nul

quiero ayuda para arreglar este codigo
y me pregunto: ¿Se puede randomizar elecciones de un batch de otro modo?


« Última modificación: 26 Julio 2015, 18:32 pm por joaquinrekpo » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: Ayuda con codigo batch.
« Respuesta #1 en: 26 Julio 2015, 19:12 pm »

¿Por qué usas 6 métodos distintos solamente para asignar el valor de una variable?, es demasiado código para llevar a cabo la misma acción, en su lugar puedes asignar 6 variables con nombre dinámico (_1, _2, _3, etc) o mucho mejor, simular un Array:

Código:
@Echo Off & Setlocal EnableDelayedExpansion

Set "reasons=Juicio;Apuesta;Error;Compra;Impuestos;Robo"

Set /A "rand=%RANDOM% %%6" & REM Número aleatorio del 0 al 5.
REM si prefieres utilizar un índice de 1, número aleatorio del 1 al 6:
:: REM %RANDOM% <(--- No eliminar esta linea de comentario REM. Es necesaria para inicializar correctamente RANDOM.
:: Call Set /A "rand=%RANDOM% * 6 / 32768 + 1"

Set /A "count=0"
For %%# in ( %reasons% ) Do (
If !count! EQU %rand% (Call :DirtyWork "!count!" "%%~#")
Set /A "count+=1"
)

Pause&Exit /B 0

:DirtyWork :: %1=Index, %2=Reason
Set /A "index=%~1"
Set    "reason=%~2"
Echo.Index : %index%
Echo.Reason: %reason%
REM buscar...

GoTo :EOF

Saludos


« Última modificación: 26 Julio 2015, 19:15 pm por Eleкtro » En línea


joaquinrekpo

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda con codigo batch.
« Respuesta #2 en: 28 Julio 2015, 15:37 pm »

Gracias.

La verdad que soy Newbie (Por no decir Noob) en batch y solo se me ocurrio esta forma
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda codigo batch
Scripting
edogawa93 3 2,156 Último mensaje 10 Junio 2007, 09:45 am
por zhynar_X
Ayuda con mi codigo en batch para mandar txt a ftp...
Scripting
__68_Zauron_Arg 1 2,391 Último mensaje 20 Marzo 2008, 20:18 pm
por Fireball-CH
ayuda con codigo batch
Scripting
zerocoolcom 5 2,681 Último mensaje 4 Julio 2010, 00:17 am
por zerocoolcom
[Batch] Ayuda con código
Scripting
shadowhunter 4 1,927 Último mensaje 13 Octubre 2013, 12:47 pm
por shadowhunter
ayuda con un codigo batch
Scripting
didis 2 739 Último mensaje 18 Octubre 2019, 21:21 pm
por didis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines