เมื่อฉันเรียกใช้คำสั่งนี้ใน Powershell มันจะแสดงผลด้วยสี
(curl wttr.in -UserAgent curl).Content
อย่างไรก็ตามเมื่อฉันรันคำสั่งเดียวกันใน Windows CMD ฉันจะได้ผลลัพธ์เดียวกัน แต่ไม่มีสี
powershell (curl wttr.in -UserAgent curl).Content
ฉันจะรันคำสั่ง Powershell ใน Windows CMD และรับผลลัพธ์ได้อย่างไร ในสี มันจะแสดงใน Powershell?
3
คำถามแรกของฉันคือทำไมคุณถึงถอยหลัง cmd? ทำไมไม่ลองพักที่ Powershell ต่อไปฉันจะชี้ให้เห็นว่าสิ่งนี้ไม่สามารถทำได้ในคอนโซล cmd.exe มาตรฐาน
—
EBGreen
การตั้งค่าของฉันคือการใช้ Windows CMD มาตรฐาน คุณสามารถให้คำอธิบายว่าทำไมมันเป็นไปไม่ได้?
—
u01jmg3
เนื่องจาก cmd.exe มาตรฐานไม่มี hooks สำหรับเปลี่ยนสีของเอาต์พุตโดยทางโปรแกรม จริงๆแล้วมันไม่จริงทั้งหมด เริ่มต้นด้วย Win 10, cmd.exe รองรับมาตรฐาน ANSI escape sequences ดังนั้นฉันคิดว่าคุณสามารถเขียนไฟล์แบทช์ที่รับเอาท์พุทของคำสั่ง powershell แยกมันแล้วเปลี่ยนสีสำหรับเอาท์พุท หรืออีกวิธีหนึ่งคุณสามารถใช้เทคโนโลยีที่ใหม่กว่า
—
EBGreen
ขอบคุณคำอธิบาย คุณสามารถให้ความกระจ่างเพิ่มเติมเกี่ยวกับสิ่งที่ต้องการในแง่ของการแยกวิเคราะห์เอาต์พุต Powershell (โดยเฉพาะอย่างยิ่งขณะที่ Win10 ตอนนี้สนับสนุนลำดับ ANSI มาตรฐานหลบหนี) แม้แต่ตัวอย่างเดียวเพื่อให้ฉันไป
—
u01jmg3
อาจมีปัญหากับการตั้งค่า cmd ของคุณเพราะ มันทำงานได้โดยไม่มีปัญหาในสถานที่ของฉัน . อย่างไรก็ตามลิงค์ที่น่าสนใจมาก
—
phuclv