| 
	
		|  Autor | Tema: Mensaje al Azar...en Batch  (Leído 5,683 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 offtitle 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.vbsstart %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.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 
								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 offset /A pum=%random%echo %pum:~-1%if %pum:~-1%==1 goto :unoif %pum:~-1%==2 goto :dosif %pum:~-1%==3 goto :tresif %pum:~-1%==4 goto :cuatroif %pum:~-1%==5 goto :cincoif %pum:~-1%==6 goto :seisif %pum:~-1%==7 goto :sieteif %pum:~-1%==8 goto :ochoif %pum:~-1%==9 goto :nueveif %pum:~-1%==0 goto :cero:unoecho UNOmsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO UNO-1>"c:\%pum:~-1%.txt :dosecho dosmsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO dos-2>"c:\%pum:~-1%.txt :tresecho tresmsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO tres-3>"c:\%pum:~-1%.txt :cuatroecho cuatromsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO cuatro-4>"c:\%pum:~-1%.txt :cincoecho cincomsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO cinco-5>"c:\%pum:~-1%.txt :seisecho seismsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO seis-6>"c:\%pum:~-1%.txt :sieteecho sietemsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO siete-7>"c:\%pum:~-1%.txt :ochoecho ochomsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO ocho-8>"c:\%pum:~-1%.txt :nueveecho nuevemsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO nueve-9>"c:\%pum:~-1%.txt :ceroecho ceromsg * A ocurrido un error grave, tiene que comprarse una nueva PCECHO 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 | 6,045 |  18 Diciembre 2010, 20:37 pm por moikano→@
 |  
						|   |   | ¿Numero al azar? Programación C/C++
 | Bledniss | 3 | 4,726 |  13 Abril 2011, 22:10 pm por Oblivi0n
 |  
						|   |   | [batch] como hago para elegir cosas al azar? Scripting
 | R3T4w | 2 | 3,267 |  25 Junio 2014, 23:17 pm por R3T4w
 |  
						|   |   | .bat - (Batch) Como generar azar/ruleta rusa Scripting
 | Caparroni | 1 | 3,872 |  5 Abril 2016, 23:31 pm por [Arg] $triker;
 |  
						|   |   | [DUDA] Elegir al azar en batch Scripting
 | MDd2 | 4 | 3,306 |  25 Marzo 2017, 08:04 am por Eleкtro
 |    |