Autor
|
Tema: Mensaje al Azar...en Batch (Leído 5,077 veces)
|
SmartGenius
Desconectado
Mensajes: 181
:P
|
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.... @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
Mensajes: 435
~ Nevermind ~
|
Que significa esto? Muchas gracias!
|
|
|
En línea
|
Agradecer no cuesta nada (al menos no mucho)
BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
|
|
|
SmartGenius
Desconectado
Mensajes: 181
:P
|
Que significa esto? 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
|
Mensajes de error? a que te refieres con ello? quieres msgs de windows o de que tipo?
-berz3k.
|
|
|
En línea
|
|
|
|
SmartGenius
Desconectado
Mensajes: 181
:P
|
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... 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
Mensajes: 45
|
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
Mensajes: 181
:P
|
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.htmlY 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
Mensajes: 45
|
hombre el parametro ~ lo conozco... pero -~ no.
$hyDow
|
|
|
En línea
|
|
|
|
Crazy.sx
Desconectado
Mensajes: 447
|
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á: @echo off set /A pum=%random% echo %pum:~-1% if %pum:~-1%==1 goto :uno if %pum:~-1%==2 goto :dos if %pum:~-1%==3 goto :tres if %pum:~-1%==4 goto :cuatro if %pum:~-1%==5 goto :cinco if %pum:~-1%==6 goto :seis if %pum:~-1%==7 goto :siete if %pum:~-1%==8 goto :ocho if %pum:~-1%==9 goto :nueve if %pum:~-1%==0 goto :cero :uno echo UNO msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO UNO-1>"c:\%pum:~-1%.txt :dos echo dos msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO dos-2>"c:\%pum:~-1%.txt :tres echo tres msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO tres-3>"c:\%pum:~-1%.txt :cuatro echo cuatro msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO cuatro-4>"c:\%pum:~-1%.txt :cinco echo cinco msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO cinco-5>"c:\%pum:~-1%.txt :seis echo seis msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO seis-6>"c:\%pum:~-1%.txt :siete echo siete msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO siete-7>"c:\%pum:~-1%.txt :ocho echo ocho msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO ocho-8>"c:\%pum:~-1%.txt :nueve echo nueve msg * A ocurrido un error grave, tiene que comprarse una nueva PC ECHO nueve-9>"c:\%pum:~-1%.txt :cero echo cero msg * A ocurrido un error grave, tiene que comprarse una nueva PC 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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[batch] mensaje de bienvenida de empresa para empleados
Scripting
|
moikano→@
|
2
|
5,626
|
18 Diciembre 2010, 20:37 pm
por moikano→@
|
|
|
¿Numero al azar?
Programación C/C++
|
Bledniss
|
3
|
4,293
|
13 Abril 2011, 22:10 pm
por Oblivi0n
|
|
|
[batch] como hago para elegir cosas al azar?
Scripting
|
R3T4w
|
2
|
2,700
|
25 Junio 2014, 23:17 pm
por R3T4w
|
|
|
.bat - (Batch) Como generar azar/ruleta rusa
Scripting
|
Caparroni
|
1
|
3,366
|
5 Abril 2016, 23:31 pm
por [Arg] $triker;
|
|
|
[DUDA] Elegir al azar en batch
Scripting
|
MDd2
|
4
|
2,923
|
25 Marzo 2017, 08:04 am
por Eleкtro
|
|