Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: 123WAYO en 25 Marzo 2011, 15:49 pm



Título: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 25 Marzo 2011, 15:49 pm
Hola todos,
necesito la ayuda de alguien!!
Como puedo hacer para que los textos en pantalla de un archivo Bat  se muestren a color,
Estoy haciendo un programa para mi empresa  en la parte superior se muestra el nombre de la empresa, luego el menú de opciones, y por ultinmo otros datos, quiero que cada parte esa pantalla tenga diferente color.
Como hago???????????????????
Por ejemplo yo en el script pongo
@Echo off
Color 0F
...

Entonces toda la pantalla se muestra negra y textos verde, pero quiero que los textos puedan verse diferentes??
Espero sus respuestas


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 25 Marzo 2011, 17:28 pm
Gracias, pero no entendí
Mira como te puedo mandar una imagen de mi programa para que veas como es!!
[C:\Documents and Settings\Digitacion2\Escritorio\pantallazo][/img]


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: RyogiShiki en 25 Marzo 2011, 19:22 pm
en una caja de texto o en una div?

puedes usar syntaxhighlighter, geshi o editarea dependiendo del caso

Creo que se refiere a la ejecución del bat y a nada relacionado con HTML o Desarrollo Web


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 25 Marzo 2011, 19:26 pm
Exactamente yo me refiero a un archivo que creo en Block de notas y que luego guardo con extension .bat, yo deseo que al abrir el bat las letras del texto no solo se muestren todas del mismo color, si no que algunas partes del texto se muestren de un color y otras de otro color.


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: SuperDraco en 25 Marzo 2011, 20:37 pm
Eso lo puedes hacer MUY sencillamente con el la utilidad "Colous.exe", con el comando colous writesec, o colous X Y X Y.

Aqui tienes un post mio, para que te mires unos ejemplo de como lo uso yo:

http://foro.elhacker.net/scripting/batch_preguntas_y_ayuda_para_corregir_mi_script-t322340.0.html

En uno de mis comentarios en ese post, hay un enlace de descarga, bajatelo, adentro del .exe de winrar esta el colous.exe.


Saludos!

PD: No existe una manera de hacer lo que pides sin usar un programa de terceros.


PD2: Ah, y toma esto, un regalito xD no te vayas a liar con el programa...


(http://img859.imageshack.us/img859/9696/colores.jpg)

(http://img819.imageshack.us/img819/1859/formas.jpg)

(http://img812.imageshack.us/img812/5162/parte1kn.jpg)

(http://img864.imageshack.us/img864/5318/parte2l.jpg)

(http://img607.imageshack.us/img607/1928/parte3o.jpg)

(http://img835.imageshack.us/img835/5697/parte4i.jpg)






Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 25 Marzo 2011, 21:32 pm
Hola sos demasiado inteligente.
Muchas gracias ya instalé el `programa y me está saliendo de Marvilla, solo tengo un problema más Como se hace si es una oración de más de una palabra, pues despues del espacio ya no sale en el color


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: SuperDraco en 25 Marzo 2011, 21:54 pm
ejemplo 1:
Colous writesec "[COLOR] oracion bla bla bla espacios y mas   e s p a c i o s"

ejemplo 2:
Colous writesec "[7]Los limones son [14]amarillos!, [7]Los tomates son [12]rojos."



No te he entendido bien, pon tu codigo si sigues con problemas...

PD: Acuerdate de usar las comillas como en el ejemplo de ahora.


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 27 Marzo 2011, 07:40 am
Hola puedo hacerte otra pregunta????????
Como puedo hacer para que solo presionando la tecla Esc pueda devolverme  hacia la pantalla anterior, te voy a anexar el link para que veas el programa que hize, a como está ahora tengo que guiarme por el menú de opciones como:
1- Agregar ...
2- Atrás


http://www.speedyshare.com/files/27621812/COIN-01.exe
y me encantaría poder usar la tecla Esc para poder ir a la pantalla anterior....

(http://C:\Documents and Settings\Nando\Escritorio\pantallazo)


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: SuperDraco en 27 Marzo 2011, 16:52 pm
Uf, es que hablamos de hacer esa función con una tecla... lo pones muy dificil imposible diría yo.

Me he mirado el programa, A ver que se me ocurre...

nada, mejor te contesto en tu otro mensaje.






Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: bolivianito en 27 Marzo 2011, 18:36 pm
Es facil de realizarlo, podes usar la herramienta "Colous" tambien, usando su parametro "Readkey", que pausa el programa hasta presionar una tecla, la tecla es guardada en %errorlevel%, pero solo su codigo ascii.

ejemplo codigo ascii
@   igual a  64  (alt+64 es @)
A   igual a  65
B   igual a 66
...etc...


El [ESC] es 27, quedaria por usar "Colous READKEY" como opcion ya que estás usando esa herramienta.

puedes buscar las tablas de valores por google.




Acá un ejemplo de un menu, lo hice sencillo para que lo entiendas:
Código:
@echo off
goto:MENU2
::dirijo al menu 2 para hacer la prueba de [ESC]


:MENU_PRINCIPAL
cls
Echo menu principal
Echo Opcion 1
Echo Opcion 2
Pause>nul
Exit





:MENU2
cls
Echo Este es un submenu
Echo Presione [ESC] para volver atras
==========================
Colous readkey
If %errorlevel%==27 (goto:MENU_PRINCIPAL) else (goto:MENU2)
::27 es [ESC] en ASCII
==========================


Saludos


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 28 Marzo 2011, 05:54 am
Uy muvhas gracias voy a tratar de hacerlo y luego te cuento!!


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: SuperDraco en 28 Marzo 2011, 21:47 pm
Es facil de realizarlo, podes usar la herramienta "Colous" tambien, usando su parametro "Readkey", que pausa el programa hasta presionar una tecla, la tecla es guardada en %errorlevel%, pero solo su codigo ascii.

ejemplo codigo ascii
@   igual a  64  (alt+64 es @)
A   igual a  65
B   igual a 66
...etc...


El [ESC] es 27, quedaria por usar "Colous READKEY" como opcion ya que estás usando esa herramienta.

Saludos


Bolivianito, puedes explicar tambien como hacerlo pero con un readkey$ (Sin pausar)

Nunca he llegado a entenderlo :/ es necesario un FOR creo?

Gracias por la explicaciond e antes a mi tambien me ha servido, saludos!


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: bolivianito en 29 Marzo 2011, 01:03 am
el readkey$ tambien pausa, solo que en vez de devolver numeros en errorlevel, devuelve el caracter, y lo tienes que leer usando for, o redirijiendo la salida a un archivo o parecido, pero que nada, es con for.


Y para que no se pause, se utiliza "Colous Keypress"
Es facil usarlo, es igual que el anterior, solo que no pausa el script, en caso de que haya tocado una tecla, el errorlevel será el codigo ascii del caracter, si no se toco nada, el errorlevel queda en valor 0.


Pero depende el uso que le dés, porque ese parametro funciona asi:
Citar
>Keypress
  >>si se está tocando una tecla en este momento...
       Tiro el valor ascii del caracter presionado y cierra colous

  >>si No se está tocando una tecla en este momento...
       Cierra colous
osea, tendria que poner ese parametro dentro de un bucle y estar constantemente comprobando si se toco una tecla....

Ésto es útil solo en algunos casos, depende el uso, por ejemplo en los juegos es muy buena ésta implementacion.






Acá un ejemplo:
Código:
@echo off
colous cursoroff
:://defino un contador, para que muestre que el script no está pausado
Set contador=0

:BUCLE
Colous 12 0 1,1 %contador%
set /a contador+=1
                =====================
colous keypress
if not %errorlevel%==0 (
Colous 7 0 1,2 "Presionando una tecla..."
) else (
::Borro el texto si no está presionando tecla.
Colous 0 0 1,2 "                                        "
)


GOTO:BUCLE


Saludos


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: SuperDraco en 29 Marzo 2011, 05:26 am
Muy buen ejemplo del colous!!

Me encanta, por unos segundos el CMD parece interactivo xDDD


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 30 Marzo 2011, 08:21 am
Una pregunta mas... :)
Es que creo que ya lo pregunté pero nadie me supo decir :(
En mi trabajo no hay impresoras de Matriz de Puntos y los batch solo imprimen en este tipo de impresoras, hay alguna manera que yo pueda imprimir (comando print) desde un archivo bat a una impresora laser (No de Matriz de Puntos) por ejemplo a una Epson que está conectada directamente en mi computadora o mejor aún a una impresora Laser que se encuentra en la red????
Gracias por su ayuda y comentarios!!!!


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 31 Marzo 2011, 17:19 pm
hola con respecto a esto que publicaste:
Esta buenísimo si funciona si pongo por ejemplo:
If %errorlevel%==27 (goto:exit) else (goto:MENU)
Entonces sale de la Aplicacion pero si en el scrip pongo por ejemplo:
If %errorlevel%==27 (goto:exit) else (goto:MENU)
If %errorlevel%==49 (goto:registro) else (goto:MENU)

Solo sigue la primera orden, ya la segunda no la toma en cuenta :( que hago???



**********************************************

Es facil de realizarlo, podes usar la herramienta "Colous" tambien, usando su parametro "Readkey", que pausa el programa hasta presionar una tecla, la tecla es guardada en %errorlevel%, pero solo su codigo ascii.

ejemplo codigo ascii
@   igual a  64  (alt+64 es @)
A   igual a  65
B   igual a 66
...etc...


El [ESC] es 27, quedaria por usar "Colous READKEY" como opcion ya que estás usando esa herramienta.

puedes buscar las tablas de valores por google.




Acá un ejemplo de un menu, lo hice sencillo para que lo entiendas:

Código:
@echo off
goto:MENU2
::dirijo al menu 2 para hacer la prueba de [ESC]


:MENU_PRINCIPAL
cls
Echo menu principal
Echo Opcion 1
Echo Opcion 2
Pause>nul
Exit





:MENU2
cls
Echo Este es un submenu
Echo Presione [ESC] para volver atras
==========================
Colous readkey
If %errorlevel%==27 (goto:MENU_PRINCIPAL) else (goto:MENU2)
::27 es [ESC] en ASCII
==========================


Saludos

http://foro.elhacker.net/scripting/mostrar_diferentes_colores_en_archivo_batch_bat_msdos-t322816.0.html#ixzz1IBu2f6e0


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: bolivianito en 31 Marzo 2011, 23:55 pm
Citar
hola con respecto a esto que publicaste:
Esta buenísimo si funciona si pongo por ejemplo:
If %errorlevel%==27 (goto:exit) else (goto:MENU)
Entonces sale de la Aplicacion pero si en el scrip pongo por ejemplo:
If %errorlevel%==27 (goto:exit) else (goto:MENU)
If %errorlevel%==49 (goto:registro) else (goto:MENU)

Solo sigue la primera orden, ya la segunda no la toma en cuenta  que hago???

ahi está el problema, en el else, tendrias que sacarlo, y poner el "goto:MENU" a lo ultimo despues de las comprobaciones de tecla (If...), ya que la condicion sea falsa o verdadera redirije a otro menu(o sale del programa) y no deja comprobar las otras condiciones IF...


Saludos y espero haberme explicado bien.


Título: Re: Mostrar Diferentes Colores en Archivo Batch (Bat MS-DOS)
Publicado por: 123WAYO en 31 Marzo 2011, 23:58 pm
Uy y eso en ejemplo como sería???
Por fa.. gracias