[BATCH] Banner en .bat

Iniciado por morenochico, 13 Octubre 2009, 00:25 AM

0 Miembros y 1 Visitante están viendo este tema.

morenochico

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.


@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





Guerrerohgp

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

0x5d

Smart creo algo similar, pero el code se va dibujando...
Solo busca...


Saludos.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

B14573R

mmm . nose no me funciona no se que pueda ser revisa el code ay algo mal o rar0 slau2....
SI SAVES DEFENDERTE SABRAS COMO ATACAR
SI SAVES COMO ATACAR SABRAS DEFENDERTE
.......................

morenochico

PUes es solo es cuestion de poner:
banner.bat hola

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

SuperDraco

jajajaja, to wapo!!! esto lo pondré automatico para mi inicio de sesion, pa bacilarme jaja, gracias
No he vuelto, solo estoy de paso.

SuperDraco

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
No he vuelto, solo estoy de paso.

SuperDraco

vale ya lo he descifrado, habia que cambiarle esto"set cadena=%cadena1:~0,9%" por el numero que uno quiera deletras xD
No he vuelto, solo estoy de paso.

morenochico

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".



SuperDraco

si, está muy bien la verdad!!! pero al configurarlo mira como se me queda



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???

No he vuelto, solo estoy de paso.