Comment copier du texte depuis la console cmd et conserver la mise en forme (avec couleur)?

16

Je souhaite couper et coller à partir de cmd et conserver les informations de couleur lors du collage dans une autre application. Cela revient à coller dans la plupart des applications des informations de mise en forme.

Y a-t-il un moyen de faire cela? Ou cela peut-il être fait avec une application similaire à cmd?

texte alternatif

Keith Bentrup
la source

Réponses:

7

Les gens de PowerShell, sur leur blog , ont publié un article intitulé: Capture colorisée de l'écran de la console en HTML et RTF

Une fois qu'il est dans un fichier RTF, avec des couleurs, ouvrez le RTF avec Word ou OpenOffice et copiez le texte dans votre application cible.

Comme PowerShell est un bon remplacement de cmd.exe avec beaucoup plus de fonctionnalités, essayez-le.

Snark
la source
2
Ce n'est pas tant un remplacement qu'une alternative. La compatibilité dicte qu'il ne peut pas remplacer cmd :-)
Joey
Oui, tu as raison, Johannes! "Danke schön" pour la clarification :-).
Snark
+ Génial! Merci. C'était un peu déroutant au début car je n'avais jamais utilisé PowerShell, mais cela fonctionnait exactement comme décrit.
Keith Bentrup
Il y a un Gist avec le code: gist.github.com/LeoColomb/1a683e7a05da067259e9
dualed
Le lien est rompu.
jippyjoe4
1

La réponse de Snark est utile, mais le lien est rompu. Le lien mis à jour vers le blog MSDN est ici: Capture colorisée de l'écran de la console en HTML et RTF

Vous devez copier les fonctions de l'article de blog, puis les coller dans PowerShell. Et puis vous pouvez exécuter des commandes comme:

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

fan de robbie
la source
0

Les couleurs en cmd ne sont pas les mêmes que les couleurs normales, c'est l'interprète qui interprète les codes de couleur. Je ne pense pas que ce soit possible, et en vérifiant Console2, il ne peut pas le faire non plus, donc c'est probablement pour une très bonne raison.

Phoshi
la source
AFAIK, la console Windows ne prend pas en charge les codes de couleur ANSI (comme le font les émulateurs de terminaux Unix); le programme doit appeler des fonctions spéciales pour définir la couleur du texte. En outre, un programme peut lire le contenu complet de son tampon d'écran (c'est ainsi que fonctionne l'extrait PowerShell) - et il serait possible de faire en sorte que Console2 se souvienne de tout. Il n'y a aucune vraie raison de l'empêcher.
user1686
Eh bien, je me trompe souvent;) J'ai supposé que les deux fonctionneraient de la même manière, car les outils de cygwin ont une couleur de travail, mais ils doivent l'avoir implémentée eux-mêmes.
Phoshi
@grawity semble que ansi est pris en charge nativement dans la console Windows dans Windows 10 msdn.microsoft.com/en-us/library/windows/desktop/…
Antony Hatchkins
0

Il y a une longue façon de le faire, en utilisant la capture d'écran?

  1. Appuyez sur Alt + PrtScr
  2. Cela copiera la fenêtre dans le presse-papiers
  3. Depuis le début, entrez mspaint
  4. Cliquez sur Éditer / Coller ou Ctrl-V pour coller le contenu du presse-papiers
  5. Modifiez-le pour n'afficher que la boîte de commande et enregistrez-le au format PNG (GIF entraînera le Paint tramant le texte gris classique, et JPEG créerait des artefacts autour de votre texte).

Ensuite, ces captures d'écran seront prêtes à être insérées dans Word en tant qu'image à des fins de documentation. Bien sûr, ce n'est pas du texte, il ne sera donc pas sélectionnable. Mais c'est peut-être mieux que rien.

t0mm13b
la source
La seule chose qui manque à cette solution serait d'exécuter l'OCR sur l'image de sortie :) Overkill? Peut-être, mais probablement plus facile à gérer que la réponse acceptée.
kayleeFrye_onDeck