Wie kopiere ich Text von der cmd-Konsole und behalte die Formatierung (mit Farbe) bei?

16

Ich möchte aus cmd ausschneiden und einfügen und die Farbinformationen beim Einfügen in eine andere Anwendung beibehalten . Es ähnelt dem Einfügen in den meisten Anwendungen mit Formatierungsinformationen.

Gibt es eine Möglichkeit, dies zu tun? Oder geht das mit einer App ähnlich wie cmd?

Alt-Text

Keith Bentrup
quelle

Antworten:

7

Die PowerShell-Leute veröffentlichten in ihrem Blog einen Artikel mit dem Titel: Kolorierte Erfassung des Konsolenbildschirms in HTML und RTF

Öffnen Sie in einer RTF-Datei mit Farben die RTF-Datei mit Word oder OpenOffice und kopieren Sie den Text in Ihre Zielanwendung.

Da PowerShell ein netter Ersatz für cmd.exe mit viel mehr Funktionen ist, probieren Sie es aus.

Snark
quelle
2
Es ist weniger ein Ersatz als eine Alternative. Die Kompatibilität schreibt vor, dass cmd nicht ersetzt werden kann :-)
Joey
Ja, du hast recht, Johannes! "Danke schön" für die Klarstellung :-).
Snark
+ Super! Vielen Dank. Anfangs war es etwas verwirrend, da ich PowerShell noch nie verwendet hatte, aber es funktionierte genau wie beschrieben.
Keith Bentrup
Es gibt einen Gist mit dem Code: gist.github.com/LeoColomb/1a683e7a05da067259e9
dualed
Die Verbindung ist unterbrochen.
jippyjoe4
1

Snarks Antwort ist nützlich, aber die Verbindung ist unterbrochen. Der aktualisierte Link zum MSDN-Blogeintrag ist hier: Kolorierte Erfassung des Konsolenbildschirms in HTML und RTF

Sie müssen die Funktionen aus dem Blogbeitrag kopieren und dann in PowerShell einfügen. Und dann können Sie Befehle ausführen wie:

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

Robbie Fan
quelle
0

Farben in cmd sind nicht die gleichen wie normale Farben, sondern der Interpreter interpretiert Farbcodes. Ich glaube nicht, dass dies möglich ist, und beim Einchecken in Console2 ist dies auch nicht möglich. Das hat wahrscheinlich einen sehr guten Grund.

Phoshi
quelle
AFAIK, Windows Console unterstützt keine ANSI-Farbcodes (wie Unix-Terminalemulatoren). Das Programm muss spezielle Funktionen aufrufen, um die Textfarbe einzustellen. Außerdem kann ein Programm den gesamten Inhalt seines Bildschirmpuffers lesen (so funktioniert das PowerShell-Snippet) - und Console2 könnte sich auch an alles erinnern. Es gibt keinen wirklichen Grund, dies zu verhindern.
user1686
Nun, ich irre mich oft;) Ich nahm an, dass die beiden ähnlich funktionieren würden, da Cygwins Werkzeuge eine funktionierende Farbe haben, aber sie müssen das selbst implementiert haben.
Phoshi
@grawity sieht aus wie ansi ist in Windows 10 nativ in Windows - Konsole unterstützt msdn.microsoft.com/en-us/library/windows/desktop/...
Antony Hatchkins
0

Gibt es einen langwierigen Weg, dies mit Hilfe der Bildschirmaufnahme zu tun?

  1. Drücken Sie Alt + PrtScr
  2. Dadurch wird das Fenster in die Zwischenablage kopiert
  3. Geben Sie von Start aus ein mspaint
  4. Klicken Sie auf Bearbeiten / Einfügen oder Strg-V, um den Inhalt der Zwischenablage einzufügen
  5. Bearbeiten Sie es, um nur das Befehlsfeld anzuzeigen, und speichern Sie es in PNG (GIF führt dazu, dass Paint den klassischen grauen Text zittert und JPEG Artefakte um Ihren Text erstellt).

Anschließend können diese Screenshots zu Dokumentationszwecken als Bild in Word eingefügt werden. Da es sich natürlich nicht um Text handelt, kann er nicht ausgewählt werden. Aber vielleicht ist es besser als nichts.

t0mm13b
quelle
Das einzige, was diese Problemumgehung fehlt, ist das Ausführen von OCR für das Ausgabebild :) Overkill? Möglich, aber wahrscheinlich einfacher zu handhaben als die akzeptierte Antwort.
KayleeFrye_onDeck