วิธีการคัดลอกข้อความจากคอนโซล cmd และทำการจัดรูปแบบ (สี)?


16

ฉันต้องการตัดและวางจาก cmd และเก็บข้อมูลสีเมื่อวางไปยังแอปพลิเคชันอื่น มันคล้ายกับการวางในแอปพลิเคชันส่วนใหญ่ที่มีข้อมูลการจัดรูปแบบ

มีวิธีทำเช่นนี้หรือไม่? หรือสามารถทำได้ด้วยแอพที่คล้ายกับ cmd?

ข้อความแสดงแทน

คำตอบ:


7

PowerShell folks ในบล็อกของพวกเขาโพสต์บทความชื่อ: จับภาพหน้าจอคอนโซล Colorized ใน HTML และ RTF

เมื่ออยู่ในไฟล์ RTF ที่มีสีให้เปิด RTF ด้วย Word หรือ OpenOffice และคัดลอกข้อความไปยังแอปพลิเคชันเป้าหมายของคุณ

ในฐานะที่เป็น PowerShell เป็นการทดแทน cmd.exe ที่ดีพร้อมด้วยคุณสมบัติอื่น ๆ อีกมากมายลองใช้ดู


2
มันไม่ได้เป็นทางเลือกทดแทนมากนัก ความเข้ากันได้บอกว่ามันไม่สามารถแทนที่ cmd :-)
Joey

ใช่คุณพูดถูกโยฮันเนส! "Danke schön" สำหรับการชี้แจง :-)
Snark

+ น่ากลัว! ขอบคุณ มันค่อนข้างสับสนในตอนแรกตั้งแต่ฉันไม่เคยใช้ PowerShell แต่มันก็ทำงานได้อย่างที่อธิบายไว้
Keith Bentrup

มีส่วนสำคัญที่มีรหัส: gist.github.com/LeoColomb/1a683e7a05da067259e9
เท่า

ลิงก์เสีย
jippyjoe4

1

คำตอบของ Snark นั้นมีประโยชน์ แต่ลิงค์นั้นขาด ลิงก์ที่อัปเดตไปยังบล็อก MSDN อยู่ที่นี่: การจับภาพหน้าจอคอนโซลใน HTML และ RTF

คุณต้องคัดลอกฟังก์ชั่นจากบล็อกโพสต์แล้ววางลงใน PowerShell จากนั้นคุณสามารถเรียกใช้คำสั่งเช่น:

$ htmlFileName = "$ env: temp \ ConsoleBuffer.html"
. \ Get-ConsoleAsHtml | ออกไฟล์ $ htmlFileName - เข้ารหัส UTF8


0

สีในหน่วย cmd นั้นไม่เหมือนกับสีปกติ แต่เป็นตัวแปลรหัสสี ฉันไม่เชื่อว่าเป็นไปได้ที่จะทำและการตรวจสอบใน Console2 ก็ไม่สามารถทำได้เช่นกันดังนั้นมันอาจเป็นเหตุผลที่ดี


AFAIK, Windows Console ไม่สนับสนุนรหัสสี ANSI (เหมือนกับเทอร์มินัลอีมูเลเตอร์ Unix) โปรแกรมจะต้องเรียกใช้ฟังก์ชันพิเศษเพื่อตั้งค่าสีข้อความ นอกจากนี้โปรแกรมสามารถอ่านเนื้อหาทั้งหมดของบัฟเฟอร์หน้าจอ (นั่นคือวิธีการทำงานของข้อมูลโค้ด PowerShell) - และเป็นไปได้ที่จะทำให้ Console2 จดจำทุกสิ่งด้วย ไม่มีเหตุผลจริงป้องกันมัน
user1686

ดีฉันมักจะผิด;) ฉันคิดว่าทั้งสองจะทำงานคล้ายกันเป็นเครื่องมือของ cygwin มีสีทำงาน แต่พวกเขาจะต้องดำเนินการเอง
Phoshi

@grawity ดูเหมือนว่า ansi ได้รับการสนับสนุนโดยกำเนิดใน windows console ใน windows 10 msdn.microsoft.com/en-us/library/windows/desktop/?hl=th
Antony Hatchkins

0

มีวิธียืดยาวในการทำเช่นนี้โดยใช้การจับภาพหน้าจอหรือไม่

  1. กด Alt + PrtScr
  2. นี่จะเป็นการคัดลอกหน้าต่างไปยังคลิปบอร์ด
  3. ตั้งแต่เริ่มป้อน mspaint
  4. คลิกที่แก้ไข / วางหรือ Ctrl-V เพื่อวางเนื้อหาของคลิปบอร์ด
  5. แก้ไขเพื่อแสดงเฉพาะกล่องคำสั่งและบันทึกลงใน PNG (GIF จะนำไปสู่การทาสีข้อความสีเทาแบบคลาสสิกและ JPEG จะสร้างสิ่งประดิษฐ์รอบข้อความของคุณ)

จากนั้นภาพจับภาพหน้าจอเหล่านั้นจะพร้อมที่จะถูกแทรกลงใน Word เป็นรูปภาพเพื่อวัตถุประสงค์ในการจัดทำเอกสาร แน่นอนมันไม่ใช่ข้อความดังนั้นจึงไม่สามารถเลือกได้ แต่มันอาจจะดีกว่าไม่มีอะไร


สิ่งเดียวที่วิธีแก้ปัญหานี้จะหายไปจะทำงาน OCR กับภาพออก :) Overkill? อาจเป็นไปได้ แต่อาจจัดการได้ง่ายกว่าคำตอบที่ยอมรับ
kayleeFrye_onDeck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.