Jak skopiować tekst z konsoli cmd i zachować formatowanie (kolorem)?

16

Chcę wyciąć i wkleić z cmd i zachować informacje o kolorze podczas wklejania do innej aplikacji. Jest podobny do wklejania w większości aplikacji z informacjami o formatowaniu.

Czy jest na to sposób? Czy można to zrobić za pomocą aplikacji podobnej do cmd?

alternatywny tekst

Keith Bentrup
źródło

Odpowiedzi:

7

PowerShell na swoim blogu opublikował artykuł zatytułowany: Pokolorowane przechwytywanie ekranu konsoli w HTML i RTF

Gdy znajdzie się w pliku RTF, z kolorami, otwórz RTF za pomocą Worda lub OpenOffice i skopiuj tekst do aplikacji docelowej.

Ponieważ PowerShell to niezła alternatywa dla cmd.exe z wieloma dodatkowymi funkcjami, spróbuj.

Snark
źródło
2
To nie tyle zamiennik, co alternatywa. Zgodność oznacza, że ​​nie może zastąpić cmd :-)
Joey,
Tak, masz rację, Johannes! „Danke schön” dla wyjaśnienia :-).
Snark
+ Niesamowite! Dzięki. Na początku było to nieco mylące, ponieważ nigdy nie korzystałem z PowerShell, ale działało dokładnie tak, jak opisano.
Keith Bentrup,
Istnieje Gist z kodem: gist.github.com/LeoColomb/1a683e7a05da067259e9
dualed
Link jest zepsuty.
jippyjoe4
1

Odpowiedź Snarka jest przydatna, ale link jest zepsuty. Zaktualizowany link do postu na blogu MSDN znajduje się tutaj: Pokolorowane zrzuty ekranu konsoli w HTML i RTF

Musisz skopiować funkcje z posta na blogu, a następnie wkleić je do programu PowerShell. Następnie możesz uruchamiać polecenia takie jak:

$ htmlFileName = "$ env: temp \ ConsoleBuffer.html"
. \ Get-ConsoleAsHtml | plik wyjściowy $ htmlFileName -encoding UTF8

fan Robbiego
źródło
0

Kolory w cmd nie są takie same jak kolory normalne, interpreter interpretuje kody kolorów. Nie sądzę, że można to zrobić, a sprawdzanie w Console2 również nie może tego zrobić, więc prawdopodobnie jest to bardzo dobry powód.

Phoshi
źródło
AFAIK, konsola Windows nie obsługuje kodów kolorów ANSI (tak jak emulatory terminali Unix); program musi wywoływać funkcje specjalne, aby ustawić kolor tekstu. Ponadto program może odczytać całą zawartość swojego bufora ekranowego (tak działa ten fragment kodu PowerShell) - i byłoby możliwe, aby Console2 również zapamiętał wszystko. Nie ma prawdziwego powodu, aby temu zapobiec.
user1686,
Cóż, często się mylę;) Zakładałem, że oba będą działać podobnie, ponieważ narzędzia cygwina mają działający kolor, ale musiały to sami zaimplementować.
Phoshi,
wygląd @grawity jak ANSI jest obsługiwane natywnie w konsoli Windows w systemie Windows 10 msdn.microsoft.com/en-us/library/windows/desktop/...
Antony Hatchkins
0

Jest to długa droga do zrobienia tego przy użyciu przechwytywania ekranu?

  1. Naciśnij Alt + PrtScr
  2. Spowoduje to skopiowanie okna do schowka
  3. Od Start, wprowadź mspaint
  4. Kliknij Edytuj / Wklej lub Ctrl-V, aby wkleić zawartość schowka
  5. Edytuj go, aby wyświetlał tylko pole poleceń i zapisz go w formacie PNG (GIF spowoduje, że Paint będzie ditherował klasyczny szary tekst, a JPEG utworzy artefakty wokół tekstu).

Następnie te zrzuty ekranu będą gotowe do wstawienia do programu Word jako obraz do celów dokumentacyjnych. Oczywiście nie jest to tekst, więc nie będzie można go wybrać. Ale może być lepsze niż nic.

t0mm13b
źródło
Jedyne, czego brakuje w tym obejściu, to uruchomienie OCR na obrazie wyjściowym :) Przesada? Możliwe, ale prawdopodobnie łatwiejsze do rozwiązania niż zaakceptowana odpowiedź.
kayleeFrye_onDeck