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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Mensaje al Azar...en Batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mensaje al Azar...en Batch  (Leído 5,077 veces)
SmartGenius

Desconectado Desconectado

Mensajes: 181


:P


Ver Perfil WWW
Mensaje al Azar...en Batch
« en: 5 Mayo 2008, 03:09 am »

En estos dias estuve pensando en una idea para hacer que al abrir cualquier ejecutable... me mostrara un mensaje de error, pero aunque di con el code que me permitia abrir cualquier exe del sistema atraves de mi bat, no era capaza de que se mostrara un mensaje de error al azar....

busque y busque en varios foros, pero me encontraba solo con la opcion de la generacion de numeros, mas no de mensajes...

yo mismo me puse a probar en mi pc, y despues de varios intentos y de romperme loa cabeza, saque este code....

Código:
 @echo off
title Generador de Mensajes Aleatorios

:main
set p=%random%
call :msg%p:~-1%

:msg1
echo.
echo  Mensaje 1
pause
exit

:msg2
echo.
echo  Mensaje 2
pause
exit

:msg3
echo.
echo  Mensaje 3
pause
exit

:msg4
echo.
echo  Mensaje 4
pause
exit

:msg5
echo.
echo  Mensaje 5
pause
exit

:msg6
echo.
echo  Mensaje 6
pause
exit

:msg7
echo.
echo  Mensaje 7
pause
exit

:msg8
echo.
echo  Mensaje 8
pause
exit

:msg9
echo.
echo  Mensaje 9
pause
exit

:msg0
echo.
echo  Mensaje 0
pause
exit

si alguien sabe una forma mejor de hacer esto que por favor la diga, ya que fue lo unico que se me ocurrio para mostrar (10) posibles mensajes... aunque se puede configurar para que sean 100, o los que quieran...

Saludos.


En línea


MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: Mensaje al Azar...en Batch
« Respuesta #1 en: 5 Mayo 2008, 20:24 pm »

Que significa esto?

Código:
call :msg%p:~-1%

Muchas gracias!


En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
SmartGenius

Desconectado Desconectado

Mensajes: 181


:P


Ver Perfil WWW
Re: Mensaje al Azar...en Batch
« Respuesta #2 en: 6 Mayo 2008, 03:03 am »

Que significa esto?

Código:
call :msg%p:~-1%

Muchas gracias!

Bien... primero lo que hago es hacer un %random% que pongo dentro de la variable %p%

entonces con el call llamo a la funcion msg + el resultado de %p:~-1% que va a ser el ultimo numero que nos de el random, asi que si da 2 entonces llama a la funcion msg2, asi, pues muestra un mensaje al azar usando el random; fue la unica manera en que lo vi posible...

el call me parace mejor porque de esta manera podemos pasarle parametros %1 %* a otras funciones dentro del mismo code...

Saludos.
En línea


berz3k
Colaborador
***
Desconectado Desconectado

Mensajes: 1.212



Ver Perfil
Re: Mensaje al Azar...en Batch
« Respuesta #3 en: 6 Mayo 2008, 03:09 am »

Mensajes de error? a que te refieres con ello? quieres msgs de windows o de que tipo?

-berz3k.
En línea

SmartGenius

Desconectado Desconectado

Mensajes: 181


:P


Ver Perfil WWW
Re: Mensaje al Azar...en Batch
« Respuesta #4 en: 6 Mayo 2008, 03:25 am »

Mensajes de error? a que te refieres con ello? quieres msgs de windows o de que tipo?

-berz3k.


Noo, simplemente es para que en bacth salga un mensaje al azar...

aunque tambien lo podemos hacer de esta manera, para mostrar los mensajes, e incluiriamos vbs...

Código:
echo MsgBox "Te Jodiste man... ;)"^&vbCrLf^&vbCrLf^&"Fuck you xD"^&vbCrLf^&" xD xD xD xD", 16, "Error de Programa" >>%temp%\msgr.vbs
start %temp%\msgr.vbs
exit

Saludos.
En línea


$hyDow

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Mensaje al Azar...en Batch
« Respuesta #5 en: 29 Mayo 2008, 00:01 am »

una cosa call:msg%p:~1 extraeria el primer caracter de %p% no?
entonces :-~ es para empezar por el final?


$hyDow
En línea

SmartGenius

Desconectado Desconectado

Mensajes: 181


:P


Ver Perfil WWW
Re: Mensaje al Azar...en Batch
« Respuesta #6 en: 29 Mayo 2008, 03:55 am »

Fijate que como yo lo puse %p:~-1% usa es el ultimo numero...

Si no estoy mas el simbolo ~ es para indicar que estamis trabajando con subcadenas o substrings...

Y seria de esta manera %p:~caracterinicial,cuantoscaracteres%

entonces si pongo %p:~3,-1% me extraera un carater a partir del tercero, contando desde izquierda a derecha, pero como lo hice inicialmente no puse el primer valor, osea que seria cero, y por lo tanto toma el ultimo valor...

Puedes ver un poco mas de codigo parecido en este post:

http://foro.elhacker.net/scripting/batch_executor_mi_primer_bichitomutante-t213661.0.html

Y para saber mas entras al CMD y escribes set/? y por ahi a mitad de la ayuda sale esto de expansion de variables y subcadenas...

Saludos.
En línea


$hyDow

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Mensaje al Azar...en Batch
« Respuesta #7 en: 30 Mayo 2008, 16:15 pm »

hombre el parametro ~ lo conozco...
pero -~ no.


$hyDow
En línea

Crazy.sx


Desconectado Desconectado

Mensajes: 447



Ver Perfil
Re: Mensaje al Azar...en Batch
« Respuesta #8 en: 31 Mayo 2008, 04:27 am »

Bueno, este código que te muestro acá es de una pequeña broma pesada que hice, que la llame "PUM", pero la acondicioné para que haga lo que vos querés, pero solo que acá mostrará tan solo 10 mensajes aleatorios diferentes y que admás guarda un log en C:\ (se le puede ampliar) pero lo básico está acá, esto tan solo es otro código más,... mirá:

Código
  1. @echo off
  2. set /A pum=%random%
  3. echo %pum:~-1%
  4. if %pum:~-1%==1 goto :uno
  5. if %pum:~-1%==2 goto :dos
  6. if %pum:~-1%==3 goto :tres
  7. if %pum:~-1%==4 goto :cuatro
  8. if %pum:~-1%==5 goto :cinco
  9. if %pum:~-1%==6 goto :seis
  10. if %pum:~-1%==7 goto :siete
  11. if %pum:~-1%==8 goto :ocho
  12. if %pum:~-1%==9 goto :nueve
  13. if %pum:~-1%==0 goto :cero
  14. :uno
  15. echo UNO
  16. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  17. ECHO UNO-1>"c:\%pum:~-1%.txt
  18.  
  19. :dos
  20. echo dos
  21. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  22. ECHO dos-2>"c:\%pum:~-1%.txt
  23.  
  24. :tres
  25. echo tres
  26. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  27. ECHO tres-3>"c:\%pum:~-1%.txt
  28.  
  29. :cuatro
  30. echo cuatro
  31. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  32. ECHO cuatro-4>"c:\%pum:~-1%.txt
  33.  
  34. :cinco
  35. echo cinco
  36. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  37. ECHO cinco-5>"c:\%pum:~-1%.txt
  38.  
  39. :seis
  40. echo seis
  41. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  42. ECHO seis-6>"c:\%pum:~-1%.txt
  43.  
  44. :siete
  45. echo siete
  46. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  47. ECHO siete-7>"c:\%pum:~-1%.txt
  48.  
  49. :ocho
  50. echo ocho
  51. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  52. ECHO ocho-8>"c:\%pum:~-1%.txt
  53.  
  54. :nueve
  55. echo nueve
  56. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  57. ECHO nueve-9>"c:\%pum:~-1%.txt
  58.  
  59. :cero
  60. echo cero
  61. msg * A ocurrido un error grave, tiene que comprarse una nueva PC
  62. ECHO cero-0>"c:\%pum:~-1%.txt

Bueno, es basicamente lo mismo que tu codigo... tan solo quedaria cambiar los mensajes que quieres mostrar o mejor aun crear un vbs como se dijo por ahi ;).

Saludos
« Última modificación: 31 Mayo 2008, 04:31 am por lukhardy » En línea

Destruir K. LOL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] mensaje de bienvenida de empresa para empleados
Scripting
moikano→@ 2 5,626 Último mensaje 18 Diciembre 2010, 20:37 pm
por moikano→@
¿Numero al azar?
Programación C/C++
Bledniss 3 4,293 Último mensaje 13 Abril 2011, 22:10 pm
por Oblivi0n
[batch] como hago para elegir cosas al azar?
Scripting
R3T4w 2 2,700 Último mensaje 25 Junio 2014, 23:17 pm
por R3T4w
.bat - (Batch) Como generar azar/ruleta rusa
Scripting
Caparroni 1 3,366 Último mensaje 5 Abril 2016, 23:31 pm
por [Arg] $triker;
[DUDA] Elegir al azar en batch
Scripting
MDd2 4 2,923 Último mensaje 25 Marzo 2017, 08:04 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines