¿Cómo copiar texto de la consola cmd y mantener el formato (con color)?

16

Quiero cortar y pegar desde cmd y mantener la información de color al pegar en otra aplicación. Es similar al pegado en la mayoría de las aplicaciones con información de formato.

¿Hay alguna forma de hacer esto? ¿O se puede hacer con una aplicación similar a cmd?

texto alternativo

Keith Bentrup
fuente

Respuestas:

7

La gente de PowerShell, en su blog , publicó un artículo titulado: Captura coloreada de la pantalla de la consola en HTML y RTF

Una vez que esté en un archivo RTF, con colores, abra el RTF con Word u OpenOffice y copie el texto en su aplicación de destino.

Como PowerShell es un buen reemplazo de cmd.exe con muchas más funciones, pruébalo.

Snark
fuente
2
No es tanto un reemplazo como una alternativa. La compatibilidad dicta que no puede reemplazar cmd :-)
Joey
¡Sí, tienes razón, Johannes! "Danke schön" para la aclaración :-).
Snark
+ ¡Impresionante! Gracias. Al principio fue un poco confuso ya que nunca había usado PowerShell, pero funcionó exactamente como se describe.
Keith Bentrup 03 de
Hay un Gist con el código: gist.github.com/LeoColomb/1a683e7a05da067259e9
publicado el
El enlace está roto.
jippyjoe4
1

La respuesta de Snark es útil, pero el enlace está roto. El enlace actualizado a la publicación del blog de MSDN está aquí: Captura coloreada de la pantalla de la consola en HTML y RTF

Debe copiar las funciones de la publicación del blog y luego pegarlas en PowerShell. Y luego puedes ejecutar comandos como:

$ htmlFileName = "$ env: temp \ ConsoleBuffer.html"
. \ Get-ConsoleAsHtml | out-file $ htmlFileName -encoding UTF8

fan de robbie
fuente
0

Los colores en cmd no son los mismos que los colores normales, es el intérprete que interpreta los códigos de color. No creo que sea posible hacerlo, y al registrar Console2, tampoco puede hacerlo, por lo que probablemente sea por una muy buena razón.

Phoshi
fuente
AFAIK, la consola de Windows no admite códigos de color ANSI (como lo hacen los emuladores de terminal Unix); el programa debe llamar a funciones especiales para establecer el color del texto. Además, un programa puede leer el contenido completo de su búfer de pantalla (así es como funciona ese fragmento de PowerShell), y sería posible hacer que Console2 también lo recuerde todo. No hay una razón real para evitarlo.
user1686
Bueno, a menudo me equivoco;) Supuse que los dos funcionarían de manera similar, ya que las herramientas de Cygwin tienen un color que funciona, pero deben haberlo implementado ellos mismos.
Phoshi
@grawity parece que ansi es compatible de forma nativa en la consola de Windows en Windows 10 msdn.microsoft.com/en-us/library/windows/desktop/…
Antony Hatchkins
0

¿Hay una manera larga y sin aliento de hacerlo, usando la captura de pantalla?

  1. Presiona Alt + PrtScr
  2. Esto copiará la ventana al portapapeles
  3. Desde Inicio, ingrese mspaint
  4. Haga clic en Editar / Pegar o Ctrl-V para pegar el contenido del portapapeles
  5. Edítelo para mostrar solo el cuadro de comando y guárdelo en PNG (GIF provocará que Paint difumine el texto gris clásico, y JPEG crearía artefactos alrededor de su texto).

Luego, esas capturas de pantalla estarán listas para insertarse en Word como una imagen para fines de documentación. Por supuesto, no es texto, por lo que no será seleccionable. Pero puede ser mejor que nada.

t0mm13b
fuente
Lo único que falta esta solución sería ejecutar OCR contra la imagen de salida :) ¿Overkill? Posiblemente, pero probablemente más fácil de tratar que la respuesta aceptada.
kayleeFrye_onDeck