जवाबों:
ConEmu Xterm 256 कलर एक्सटेंशन के साथ ANSI X3.64 को सपोर्ट करता है। मैं इस कंसोल एमुलेटर का लेखक हूं।
एनी सीक्वेंस कोन्यू टैब में चल रही सभी प्रक्रियाओं के लिए संभाला जाता है।
AFAIK, ConEmu अंसोनिक की तुलना में अधिक कोड का समर्थन करता है।
इस पृष्ठ के किसी भी उत्तर में ANSI टर्मिनल कंट्रोल के लिए नए समर्थन के एक महत्वपूर्ण पहलू का उल्लेख नहीं किया गया है जिसे 16257 (और बाद में) बनाने में विंडोज 10 कंसोल होस्ट में जोड़ा गया था । अर्थात्, यह है सक्षम नहीं डिफ़ॉल्ट रूप से। जब तक आपके द्वारा उपयोग किए जा रहे विशिष्ट सॉफ़्टवेयर ध्वज के साथ SetConsoleMode API को कॉल करके ANSI प्रसंस्करण को सक्षम करता है, तब तक आपको रंग नहीं दिखेंगेENABLE_VIRTUAL_TERMINAL_PROCESSING (0x0400)
या उस अनुप्रयोग के लिए ANSI प्रसंस्करण प्राप्त नहीं होगा।
ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
https://docs.microsoft.com/en-us/windows/console/setconsolemodeWriteFile या WriteConsole के साथ लिखते समय , वर्णों को VT100 और इसी तरह के नियंत्रण वर्ण अनुक्रमों के लिए पार्स किया जाता है जो कर्सर आंदोलन, रंग / फ़ॉन्ट मोड और अन्य ऑपरेशनों को नियंत्रित करते हैं जो मौजूदा कंसोल API के माध्यम से भी किए जा सकते हैं। अधिक जानकारी के लिए, कंसोल वर्चुअल टर्मिनल अनुक्रम देखें।
मैं इस पृष्ठ कार्य पर दिखाए गए उदाहरणों का कारण अनुमान लगा रहा हूं कि, जाहिरा तौर पर echo
कमांड (या शायद बैच-प्रोसेसिंग पार्ट CMD.EXE
या conhost
) एएनएसआई प्रसंस्करण को केवल उल्लेख किए गए एपीआई को कॉल करके सक्षम करता है। लेकिन कई अन्य उपकरण या निष्पादन योग्य जो ऐसा लिखते हैं stdin
या stdout
नहीं कर सकते हैं, ऐसी स्थिति में आप उन प्रक्रियाओं के लिए रंग नहीं देखेंगे।
सौभाग्य से, वैश्विक डिफ़ॉल्ट को ऑप्ट-इन से ऑप्ट-आउट में बदला जा सकता है । HKEY_CURRENT_USER\Console\VirtualTerminalLevel
ANSI एस्केप अनुक्रम को संसाधित करने के लिए वैश्विक डिफ़ॉल्ट व्यवहार सेट पर रजिस्ट्री कुंजी । एक DWORD
कुंजी बनाएं (यदि आवश्यक हो) और इसके मूल्य 1
को विश्व स्तर पर सक्षम करें (या 0
अक्षम करें) ANSI प्रसंस्करण डिफ़ॉल्ट रूप से सक्षम करें।
[HKEY_CURRENT_USER \ कंसोल] "VirtualTerminalLevel" = DWORD: 00000001
ध्यान दें कि यह रजिस्ट्री सेटिंग एक डिफ़ॉल्ट को नियंत्रित करती है , जिसका अर्थ है कि यह केवल कंसोल ऐप को प्रभावित करता है जो कॉल करके कंसोल मोड को स्पष्ट रूप से हेरफेर नहीं करते हैं SetConsoleMode(...)
। यह निम्नानुसार है, जबकि रजिस्ट्री मान कंसोल-मोड-गुमनामी एप्लिकेशन के लिए एएनएसआई को सक्षम करने में मदद कर सकता है , इसका किसी भी कंसोल-मोड-प्रेमी ऐप पर कोई प्रभाव नहीं पड़ेगा (जो किसी कारण से) स्पष्ट रूप से एएनएसआई को अक्षम कर सकता है ।
Windows 10 TH2 (v1511) से शुरू, conhost.exe
(और, विस्तार से, cmd.exe
) ANSI एस्केप अनुक्रम का समर्थन करते हैं, विशेष रंगों में:
कंसोल आभासी टर्मिनल दृश्यों के बारे में MSDN पेज बताते दृश्यों क्या समर्थन कर रहे हैं और उन्हें कैसे सक्षम करने के लिए:
इस व्यवहार को कॉन्फ़िगर करने के लिए आप GetConsoleMode और SetConsoleMode झंडे का उपयोग कर सकते हैं । [...]
निम्नलिखित अनुक्रमों का व्यवहार VT100 और व्युत्पन्न टर्मिनल एमुलेटर प्रौद्योगिकियों पर आधारित है, विशेष रूप से एक्सटर्म टर्मिनल एमुलेटर। टर्मिनल अनुक्रमों के बारे में अधिक जानकारी http://vt100.net और http://invanish-island.net/xterm/ctlseqs/ctlseqs.html पर देखी जा सकती है ।
क्या एएनएसआई रंग की व्याख्या करने वाले विंडोज के लिए कोई कंसोल एमुलेटर है?
10 से पहले विंडोज - कंसोल पर एएनएसआई रंगों के लिए कोई देशी समर्थन नहीं
10 से नीचे के विंडोज संस्करण के लिए, विंडोज कमांड कंसोल डिफ़ॉल्ट रूप से आउटपुट कलरिंग का समर्थन नहीं करता है। आप अपने विंडोज कमांड कंसोल में कलरिंग सपोर्ट को जोड़ने के लिए Cmder , ConEmu , ANSICON या मिंट्टी (GitBash और Cygwin में डिफ़ॉल्ट रूप से प्रयुक्त) स्थापित कर सकते हैं।
विंडोज 10 - कमांड लाइन रंग
विंडोज 10 से शुरू विंडोज कंसोल एएनएसआई एस्केप सीक्वेंस और कुछ रंगों को डिफ़ॉल्ट रूप से सपोर्ट करता है।
डेमो
बैच कमान
win10colors.cmd
द्वारा लिखा गया था मिशेल Locati :
@echo off
cls
echo [101;93m STYLES [0m
echo ^<ESC^>[0m [0mReset[0m
echo ^<ESC^>[1m [1mBold[0m
echo ^<ESC^>[4m [4mUnderline[0m
echo ^<ESC^>[7m [7mInverse[0m
echo.
echo [101;93m NORMAL FOREGROUND COLORS [0m
echo ^<ESC^>[30m [30mBlack[0m (black)
echo ^<ESC^>[31m [31mRed[0m
echo ^<ESC^>[32m [32mGreen[0m
echo ^<ESC^>[33m [33mYellow[0m
echo ^<ESC^>[34m [34mBlue[0m
echo ^<ESC^>[35m [35mMagenta[0m
echo ^<ESC^>[36m [36mCyan[0m
echo ^<ESC^>[37m [37mWhite[0m
echo.
echo [101;93m NORMAL BACKGROUND COLORS [0m
echo ^<ESC^>[40m [40mBlack[0m
echo ^<ESC^>[41m [41mRed[0m
echo ^<ESC^>[42m [42mGreen[0m
echo ^<ESC^>[43m [43mYellow[0m
echo ^<ESC^>[44m [44mBlue[0m
echo ^<ESC^>[45m [45mMagenta[0m
echo ^<ESC^>[46m [46mCyan[0m
echo ^<ESC^>[47m [47mWhite[0m (white)
echo.
echo [101;93m STRONG FOREGROUND COLORS [0m
echo ^<ESC^>[90m [90mWhite[0m
echo ^<ESC^>[91m [91mRed[0m
echo ^<ESC^>[92m [92mGreen[0m
echo ^<ESC^>[93m [93mYellow[0m
echo ^<ESC^>[94m [94mBlue[0m
echo ^<ESC^>[95m [95mMagenta[0m
echo ^<ESC^>[96m [96mCyan[0m
echo ^<ESC^>[97m [97mWhite[0m
echo.
echo [101;93m STRONG BACKGROUND COLORS [0m
echo ^<ESC^>[100m [100mBlack[0m
echo ^<ESC^>[101m [101mRed[0m
echo ^<ESC^>[102m [102mGreen[0m
echo ^<ESC^>[103m [103mYellow[0m
echo ^<ESC^>[104m [104mBlue[0m
echo ^<ESC^>[105m [105mMagenta[0m
echo ^<ESC^>[106m [106mCyan[0m
echo ^<ESC^>[107m [107mWhite[0m
echo.
echo [101;93m COMBINATIONS [0m
echo ^<ESC^>[31m [31mred foreground color[0m
echo ^<ESC^>[7m [7minverse foreground ^<-^> background[0m
echo ^<ESC^>[7;31m [7;31minverse red foreground color[0m
echo ^<ESC^>[7m and nested ^<ESC^>[31m [7mbefore [31mnested[0m
echo ^<ESC^>[31m and nested ^<ESC^>[7m [31mbefore [7mnested[0m