Saltar al contenido

¿Cómo hacer que la consola win32 reconozca las secuencias de escape ANSI/VT100?

Después de tanto luchar ya dimos con la solución de esta contrariedad que tantos usuarios de este sitio presentan. Si deseas aportar algún detalle puedes aportar tu comentario.

[UPDATE] Para la versión más reciente de Windows 10, lea la útil contribución de @brainslugs83, justo debajo de los comentarios de esta respuesta.

Mientras que para las versiones anteriores Windows 10 Anniversary Update:

ANSI.SYS tiene la restricción de que solo puede ejecutarse en el contexto del subsistema MS-DOS en Windows 95-Vista.

Microsoft KB101875 explica cómo habilitar ANSI.SYS en una ventana de comandos, pero no se aplica a Windows NT. Según el artículo: a todos nos encantan los colores, las versiones modernas de Windows no tienen este agradable soporte ANSI.

En cambio, Microsoft creó muchas funciones, pero esto está lejos de su necesidad de operar la secuencia de escape ANSI/VT100.

Para una explicación más detallada, consulte el artículo de Wikipedia:

ANSI.SYS también funciona en sistemas derivados de NT para programas heredados de 16 bits que se ejecutan bajo NTVDM.

La consola Win32 no admite secuencias de escape ANSI de forma nativa. Sin embargo, software como Ansicon puede actuar como un envoltorio alrededor de la consola Win32 estándar y agregar soporte para secuencias de escape ANSI.

Por eso pienso ANSICON por Jason Hood es su solución. Está escrito en C, admite versiones de Windows de 32 y 64 bits y el código fuente está disponible.

También encontré otra pregunta o publicación similar que finalmente se respondió para usar ANSICON:

  • ¿Cómo cargar códigos de escape ANSI u obtener una lista de archivos de colores en WinXP cmd shell?
  • como usar ansi.sys en windows 7
  • ¿Cómo puedo hacer que cmd.exe muestre secuencias de escape de color ANSI?
  • color ansi en conchas de windows
  • habilite los colores ansi en el símbolo del sistema de Windows

A partir de Windows 10 TH2 (v1511), conhost.exe y cmd.exe Admite secuencias de escape ANSI y VT100 listas para usar (aunque deben estar habilitadas).

Vea mi respuesta en superusuario para más detalles.

Para Python 2.7, el siguiente script me funciona bien con Windows 10 (v1607)

import os

print '33[35m'+'color-test'+'33[39m'+" test end"
os.system('') #enable VT100 Escape Sequence for WINDOWS 10 Ver. 1607
print '33[35m'+'color-test'+'33[39m'+" test end"

El resultado debe ser:

[35mcolor-test[39m test end

color-test test end

Recuerda que tienes la capacidad de agregar una reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *