elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Como hacer una bat "multicolor"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como hacer una bat "multicolor"?  (Leído 3,514 veces)
Baphomet2204

Desconectado Desconectado

Mensajes: 56


Programo luego existo


Ver Perfil
¿Como hacer una bat "multicolor"?
« en: 23 Noviembre 2018, 03:53 am »

Hola, quisiera saber si se puede llegar a realizar lo que quiero hacer

me gustaría que por ejemplo creara un archivo batch y que se pudiera crear un resultado similar a esto:



=================
:                CMD               :
=================
: Buscando archivo... Listo :
: Restaurar Backup (S/N)   :

El bacth buscaría un archivo establecido y si lo encuentra mostraría el mensaje Listo o el mensaje Error pero ese mensaje de verificación seria resaltado en otro color pero solo ese fragmento del texto, no he visto un código que logre hacer ese solo efecto solo se hacer el cambio completo de texto y fondo pero no así como lo que quiero, agradezco su ayuda




En línea

$Diseñando_vida

while(vivas)
{
       Come();
       //Duerme();
       Programa();
       Repite();
}
EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.067



Ver Perfil
Re: ¿Como hacer una bat "multicolor"?
« Respuesta #1 en: 24 Noviembre 2018, 02:42 am »

Saludos,

- Utilizar colores en Batch es complejo y por lo general no es lo ideal, se puede hacer utilizando FindStr que utiliza los mismos códigos de color que Color. PERO se requiere de la existencia de un Fichero que tenga como nombre el texto a colorear, además de que dicho aparecerá en la consola seguido de dos puntos (nombre_fichero:), sin olvidarse de que el contenido del fichero aparecerá luego del texto coloreado:

Código
  1. @echo off
  2. echo =============================
  3. echo :            CMD            :
  4. echo =============================
  5.  
  6. set /p= " :" <nul >"Listo"
  7. set /p= ": Buscando archivo... " <nul
  8. findstr /a:0c /c:":" /s "Listo"
  9.  
  10. echo : Restaurar Backup (S/N)    :

=============================
:            CMD            :
=============================
: Buscando archivo... Listo::
: Restaurar Backup (S/N)    :


-- Utilizo set /p para evitar los saltos de linea que imprime echo al final.
-- findstr /a:0c /c:":" /s "Listo"
-- findstr /a:[código de color] /c:"contenido_del_fichero" /s "nombre_del_fichero"
-- findstr /a:[código de color] /c:"texto no coloreado que aparecerá luego del texto coloreado" /s "texto coloreado"


En línea

Baphomet2204

Desconectado Desconectado

Mensajes: 56


Programo luego existo


Ver Perfil
Re: ¿Como hacer una bat "multicolor"?
« Respuesta #2 en: 24 Noviembre 2018, 02:46 am »

Saludos,

- Utilizar colores en Batch es complejo y por lo general no es lo ideal, se puede hacer utilizando FindStr que utiliza los mismos códigos de color que Color. PERO se requiere de la existencia de un Fichero que tenga como nombre el texto a colorear, además de que dicho aparecerá en la consola seguido de dos puntos (nombre_fichero:), sin olvidarse de que el contenido del fichero aparecerá luego del texto coloreado:

Código
  1. @echo off
  2. echo =============================
  3. echo :            CMD            :
  4. echo =============================
  5.  
  6. set /p= " :" <nul >"Listo"
  7. set /p= ": Buscando archivo... " <nul
  8. findstr /a:0c /c:":" /s "Listo"
  9.  
  10. echo : Restaurar Backup (S/N)    :

=============================
:            CMD            :
=============================
: Buscando archivo... Listo::
: Restaurar Backup (S/N)    :


-- Utilizo set /p para evitar los saltos de linea que imprime echo al final.
-- findstr /a:0c /c:":" /s "Listo"
-- findstr /a:[código de color] /c:"contenido_del_fichero" /s "nombre_del_fichero"
-- findstr /a:[código de color] /c:"texto no coloreado que aparecerá luego del texto coloreado" /s "texto coloreado"

Lo unico que puedo decir es perfecto, a la primera sin complicaciones, gracias
En línea

$Diseñando_vida

while(vivas)
{
       Come();
       //Duerme();
       Programa();
       Repite();
}
branon32

Desconectado Desconectado

Mensajes: 29


Hello World


Ver Perfil
Re: ¿Como hacer una bat "multicolor"?
« Respuesta #3 en: 6 Diciembre 2018, 22:12 pm »

Hola amigo, puedes utilizar como "libreria" bg.exe que entre sus muchas funciones hay una para escribir con colores en bat. Aquí te dejo el enlace:

http://batch.xoo.it/t2238-BG-exe-Utility-for-Batch-Games.htm

Sólo tienes que colocar BG.EXE en la misma carpeta que el archivo bat y escribir esto
Código
  1. @echo off
  2.  
  3. bg print A "Hola " B "Mundo"
  4. pause>nul
  5.  

Los colores A y B los puedes ver en el cmd "color ?"
En línea

sit tibi terra levis
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines