Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: morenochico en 13 Octubre 2009, 00:25 am



Título: [BATCH] Banner en .bat
Publicado por: morenochico en 13 Octubre 2009, 00:25 am
En linux existe desde hace mucho la herramienta banner que lo que hace es que despliegan en toda la pantalla el mensaje que le mandes.  Hasta donde se en windows no hay nada parecido     :silbar:   de su utilidad pues  :-\ ,,,,, bueno no creo que cambia el mundo por eso. En fin lo que quiero decir es que hice un code que intenta hacer lo mismo esta en sus primera etapas asi que le pueden ir añandiendo mejoras.  La utilidad es porque tengo varios monitores y ventanas que vigilar asi que lo que quiero es que  por ejemplo desde lejos ver el mensaje que mande la ventana cuando este corriendo cierto proceso, como por ejemplo cuanto % lleva de cierto proceso, cuantos archivos encontró, cuantos borró etc. Falta distiguir entre minusculas y mayusculas poner numeros y otros caracteres, en fin creo que hay creatividad por aqui por si a alguien se le ocurre algo mas interesante.


Código:
@echo off
rem Realizado por morenochico
rem distribuido bajo la licencia creative commons con los atributos Attribution y rem NonCommercial

setlocal enabledelayedexpansion
set "contador=0"
set cadena1=%1
set cadena=%cadena1:~0,7%

echo %cadena%
set enviado=
set palabra1=
set palabra2=
set palabra3=
set palabra4=
set palabra5=
set palabra6=
set enviado=

:ciclo
if "!cadena:~%contador%,1!" neq "" set /a "contador+=1" & call :CreaLetra !cadena:~%contador%,1! & goto ciclo
goto imprime
goto:eof

:CreaLetra
if "%1" == "a" call :Letra_a
if "%1" == "b" call :Letra_b
if "%1" == "c" call :Letra_c
if "%1" == "d" call :Letra_d
if "%1" == "e" call :Letra_e
if "%1" == "f" call :Letra_f
if "%1" == "g" call :Letra_g
if "%1" == "h" call :Letra_h
if "%1" == "i" call :Letra_i
if "%1" == "j" call :Letra_j
if "%1" == "k" call :Letra_k
if "%1" == "l" call :Letra_l
if "%1" == "m" call :Letra_m
if "%1" == "n" call :Letra_n
if "%1" == "o" call :Letra_o
if "%1" == "p" call :Letra_p
if "%1" == "q" call :Letra_q
if "%1" == "r" call :Letra_r
if "%1" == "s" call :Letra_s
if "%1" == "t" call :Letra_t
if "%1" == "u" call :Letra_u
if "%1" == "v" call :Letra_v
if "%1" == "w" call :Letra_w
if "%1" == "x" call :Letra_x
if "%1" == "y" call :Letra_y
if "%1" == "z" call :Letra_z
if "%1" == "" call :espacio
goto:EOF
:Letra_a  
set palabra1=%palabra1% ^   ##    
set palabra2=%palabra2% ^  #  #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ ######  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_b  
set palabra1=%palabra1% ^ #####  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #####  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ #####  
goto:EOF  
:Letra_c
set palabra1=%palabra1% ^ ####    
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #      
set palabra4=%palabra4% ^ #      
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ ####    
goto:EOF  
:Letra_d  
set palabra1=%palabra1% ^ #####  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ #####  
goto:EOF  
:Letra_e  
set palabra1=%palabra1% ^ ######  
set palabra2=%palabra2% ^ #      
set palabra3=%palabra3% ^ #####  
set palabra4=%palabra4% ^ #      
set palabra5=%palabra5% ^ #      
set palabra6=%palabra6% ^ ######  
goto:EOF  
:Letra_f  
set palabra1=%palabra1% ^ ######  
set palabra2=%palabra2% ^ #      
set palabra3=%palabra3% ^ #####  
set palabra4=%palabra4% ^ #      
set palabra5=%palabra5% ^ #      
set palabra6=%palabra6% ^ #      
goto:EOF  
:Letra_g  
set palabra1=%palabra1% ^ ####    
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #      
set palabra4=%palabra4% ^ #  ###  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ ####    
goto:EOF  
:Letra_h  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ ######  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_i  
set palabra1=%palabra1% ^   #    
set palabra2=%palabra2% ^   #    
set palabra3=%palabra3% ^   #    
set palabra4=%palabra4% ^   #    
set palabra5=%palabra5% ^   #    
set palabra6=%palabra6% ^   #    
goto:EOF  
:Letra_j  
set palabra1=%palabra1% ^      #  
set palabra2=%palabra2% ^      #  
set palabra3=%palabra3% ^      #  
set palabra4=%palabra4% ^      #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ ####    
goto:EOF  
:Letra_k  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ #   #  
set palabra3=%palabra3% ^ ####    
set palabra4=%palabra4% ^ #  #    
set palabra5=%palabra5% ^ #   #  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_l  
set palabra1=%palabra1% ^ #      
set palabra2=%palabra2% ^ #      
set palabra3=%palabra3% ^ #      
set palabra4=%palabra4% ^ #      
set palabra5=%palabra5% ^ #      
set palabra6=%palabra6% ^ ######  
goto:EOF  
:Letra_m  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ ##  ##  
set palabra3=%palabra3% ^ # ## #  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_n  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ ##   #  
set palabra3=%palabra3% ^ # #  #  
set palabra4=%palabra4% ^ #  # #  
set palabra5=%palabra5% ^ #   ##  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_o  
set palabra1=%palabra1% ^  ####  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^  ####  
goto:EOF  
:Letra_p  
set palabra1=%palabra1% ^ #####  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #####  
set palabra5=%palabra5% ^ #      
set palabra6=%palabra6% ^ #      
goto:EOF  
:Letra_q  
set palabra1=%palabra1% ^  ####  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #  # #  
set palabra5=%palabra5% ^ #   #  
set palabra6=%palabra6% ^  ### #  
goto:EOF  
:Letra_r  
set palabra1=%palabra1% ^ #####  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #####  
set palabra5=%palabra5% ^ #   #  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_s  
set palabra1=%palabra1% ^  ####  
set palabra2=%palabra2% ^ #      
set palabra3=%palabra3% ^  ####  
set palabra4=%palabra4% ^      #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^  ####  
goto:EOF  
:Letra_t  
set palabra1=%palabra1% ^ #####  
set palabra2=%palabra2% ^   #    
set palabra3=%palabra3% ^   #    
set palabra4=%palabra4% ^   #    
set palabra5=%palabra5% ^   #    
set palabra6=%palabra6% ^   #    
goto:EOF  
:Letra_u  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^ #    #  
set palabra6=%palabra6% ^  ####  
goto:EOF  
:Letra_v  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ #    #  
set palabra5=%palabra5% ^  #  #  
set palabra6=%palabra6% ^   ##    
goto:EOF  
:Letra_w  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^ #    #  
set palabra3=%palabra3% ^ #    #  
set palabra4=%palabra4% ^ # ## #  
set palabra5=%palabra5% ^ ##  ##  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_x  
set palabra1=%palabra1% ^ #    #  
set palabra2=%palabra2% ^  #  #  
set palabra3=%palabra3% ^   ##    
set palabra4=%palabra4% ^   ##    
set palabra5=%palabra5% ^  #  #  
set palabra6=%palabra6% ^ #    #  
goto:EOF  
:Letra_y  
set palabra1=%palabra1% ^ #   #  
set palabra2=%palabra2% ^  # #    
set palabra3=%palabra3% ^   #    
set palabra4=%palabra4% ^   #    
set palabra5=%palabra5% ^   #    
set palabra6=%palabra6% ^   #    
goto:EOF  
:Letra_z  
set palabra1=%palabra1% ^ ######  
set palabra2=%palabra2% ^     #  
set palabra3=%palabra3% ^    #    
set palabra4=%palabra4% ^   #    
set palabra5=%palabra5% ^  #      
set palabra6=%palabra6% ^ ######  
goto:EOF  

:espacio
set palabra1=%palabra1% ^    
set palabra2=%palabra2% ^    
set palabra3=%palabra3% ^    
set palabra4=%palabra4% ^    
set palabra5=%palabra5% ^    
set palabra6=%palabra6% ^    
goto:EOF
:imprime

echo %palabra1%
echo %palabra2%
echo %palabra3%
echo %palabra4%
echo %palabra5%
echo %palabra6%
goto:EOF





Título: Re: Banner en .bat
Publicado por: Guerrerohgp en 13 Octubre 2009, 03:12 am
se puede optimizar muuuuucho, pero esta bn   :D
quizas para la proxima uses for y las coordenadas.

buen code. sigue mejorando!!!

espero las mejoras la 2.o jeje. suerte!! ;D


Título: Re: Banner en .bat
Publicado por: 0x5d en 13 Octubre 2009, 09:27 am
Smart creo algo similar, pero el code se va dibujando...
Solo busca...


Saludos.


Título: Re: Banner en .bat
Publicado por: B14573R en 29 Octubre 2009, 17:12 pm
mmm . nose no me funciona no se que pueda ser revisa el code ay algo mal o rar0 slau2....


Título: Re: Banner en .bat
Publicado por: morenochico en 3 Noviembre 2009, 19:27 pm
PUes es solo es cuestion de poner:
banner.bat hola

esto desde la linea de comandos porque si le das click pues no funciona


Título: Re: Banner en .bat
Publicado por: SuperDraco en 10 Noviembre 2009, 15:08 pm
jajajaja, to wapo!!! esto lo pondré automatico para mi inicio de sesion, pa bacilarme jaja, gracias


Título: Re: Banner en .bat
Publicado por: SuperDraco en 10 Noviembre 2009, 18:20 pm
Hay alguna manera de quitar el limite de "imprimir" 7 letras??

He configurado windows para que ejecute el batch cuando se inicia y me gustaria que pudiera salir el nick q llevo, q son 9 letras. xD


Título: Re: Banner en .bat
Publicado por: SuperDraco en 10 Noviembre 2009, 18:24 pm
vale ya lo he descifrado, habia que cambiarle esto"set cadena=%cadena1:~0,9%" por el numero que uno quiera deletras xD


Título: Re: Banner en .bat
Publicado por: morenochico en 12 Noviembre 2009, 20:31 pm
Asi es

En realidad el code no es muy complicado, las lineas importantes no son ni diez pero lo que lleva mas bulto es precisamente hacer las letras. Puse el limite de 7 caracteres porque por defecto es el tamaño de las ventanas de msdos.

combinalo con el color de fondo y el color de las letras para lograr algo "espectacular".




Título: Re: Banner en .bat
Publicado por: SuperDraco en 12 Noviembre 2009, 21:16 pm
si, está muy bien la verdad!!! pero al configurarlo mira como se me queda

(http://s4.subirimagenes.com/imagen/3538856314185123.png)

a raiz de un script que invoca al tuyo, de la siguiente manera:

@echo off

mode con cols=92 lines=14

cmd /C c:\banner.bat bienvenido
cmd /C c:\banner.bat pitoloko

sleep 4
exit /b

sabes como se puede ocultar las palabras pequeñas???



Título: Re: Banner en .bat
Publicado por: SuperDraco en 16 Noviembre 2009, 15:59 pm
solucionado, cambiando esto en tu script    echo %cadena%>nul

 :rolleyes:  saludos


Título: Re: Banner en .bat
Publicado por: morenochico en 17 Noviembre 2009, 16:15 pm
Puedes borrar el  echo %cadena%  ya que solo era para ver lo que  tenia la variable cadena por lo que no es importante


Título: Re: Banner en .bat
Publicado por: Fercoolxd en 25 Julio 2012, 07:17 am
Hola men una preugnta... podrias hacer algo asi pero funcione en windows 7 ok bye


Título: Re: Banner en .bat
Publicado por: Binary_Death en 25 Julio 2012, 07:27 am
Hombre Fercoolxd, el post es del 2009 si te fijas eh, y además, ese código que dices funciona en windows 7 perfectamente.


Título: Banner en .bat
Publicado por: Eleкtro en 25 Julio 2012, 08:19 am
El mensaje 'Banner en .bat (http://foro.elhacker.net/index.php?topic=270603)' fue bloqueado
No se reviven posts de antiguedad a menos que séa para aportar algo nuevo.
Leer reglas:
http://foro.elhacker.net/reglas