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
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]
Cita de: Nakp en 25 Marzo 2011, 17:14 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
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.
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)
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
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.
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:%5CDocuments%20and%20Settings%5CNando%5CEscritorio%5Cpantallazo)
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.
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:
@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
Uy muvhas gracias voy a tratar de hacerlo y luego te cuento!!
Cita de: 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.
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!
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:
@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
Muy buen ejemplo del colous!!
Me encanta, por unos segundos el CMD parece interactivo xDDD
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!!!!
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
Citarhola 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.
Uy y eso en ejemplo como sería???
Por fa.. gracias