如何将多种颜色应用于“线条"?在Windows命令提示符下? [英] How can I apply multiple colors to "Lines" in Windows Command Prompt?

查看:83
本文介绍了如何将多种颜色应用于“线条"?在Windows命令提示符下?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是此网站上的新手,我想问你如何在CMD中按行(或列)应用多种颜色.随时编辑以下代码,我也希望单词的颜色与经典的Google Chrome浏览器的颜色相似.

I am a newbie here on this website and I would like to ask you how to apply multiple colors by line (or column maybe?) in CMD. Feel free to edit the codes below, I would also like the color of the words to be similar like the classic Google Chrome colors.

cls
@echo off
color 0a
echo.
echo.
echo.
echo                                                                                                      ,,
echo                                                         .g8"""bgd                                  `7MM
echo                                                        .dP'    `M                                    MM
echo                                                        dm'      `    ,pW"Wq.    ,pW"Wq.    .P"Ybmmm  MM   .gP"Ya
echo                                                        MM           6W'   `Wb  6W'   `Wb  :MI  I8    MM  ,M'   Yb
echo                                                        MM.   `7MMF' 8M     MB  8M     MB   Wmmmp"    MM  8M""""""
echo                                                        `Mb     MM   YA.   ,A9  YA.   ,A9  8M         MM  YM.    .
echo                                                         `"bmmmdPY    `Ybmd9'    `Ybmd9'    YMMMMMb .JMML. `Mbmmd'
echo                                                                                           6'    dP
echo                                                                                            Ybmmmd'
echo.
echo.
echo.
pause>nul

推荐答案

以下是 Gerhard已经建议的ANSI转义代码方法.

Here's a somewhat neater looking version of the windows-10 ANSI escape code method, already suggested by Gerhard.

@Echo Off
SetLocal EnableExtensions
For /F %%G In ('Echo Prompt $E ^| "%__AppDir__%cmd.exe"') Do Set "ESC=%%G"
ClS
Echo=
Echo=
Echo=
Echo                             %ESC%[92m                                                ,,
Echo                             %ESC%[94m  .g8"""bgd  %ESC%[92m                                 `7MM
Echo                             %ESC%[94m .dP'    `M  %ESC%[92m                                   MM
Echo                             %ESC%[94m dm'      `  %ESC%[91m  ,pW"Wq.  %ESC%[93m  ,pW"Wq. %ESC%[94m  .P"Ybmmm %ESC%[92m   MM  %ESC%[91m  .gP"Ya
Echo                             %ESC%[94m MM          %ESC%[91m 6W'   `Wb %ESC%[93m 6W'   `Wb%ESC%[94m :MI  I8   %ESC%[92m   MM  %ESC%[91m ,M'   Yb
Echo                             %ESC%[94m MM.   `7MMF'%ESC%[91m 8M     MB %ESC%[93m 8M     MB%ESC%[94m  Wmmmp"   %ESC%[92m   MM  %ESC%[91m 8M""""""
Echo                             %ESC%[94m `Mb     MM  %ESC%[91m YA.   ,A9 %ESC%[93m YA.   ,A9%ESC%[94m 8M        %ESC%[92m   MM  %ESC%[91m YM.    .
Echo                             %ESC%[94m  `"bmmmdPY  %ESC%[91m  `Ybmd9'  %ESC%[93m  `Ybmd9' %ESC%[94m  YMMMMMb  %ESC%[92m .JMML.%ESC%[91m  `Mbmmd'
Echo                             %ESC%[94m                                   6'    dP
Echo                                                                 Ybmmmd' %ESC%[0m
Echo=
Echo=
Echo=
Pause 1> NUL

您甚至可以把它弄乱,放入一个明亮的白色盒子中,例如:

You could even mess around with it to put it into a bright white box, for instance:

@Echo Off
SetLocal EnableExtensions
For %%# In (BG FG)Do Set "%%#="
For /F %%# In ('%__AppDir__%WindowsPowerShell\v1.0\powershell.exe -NoP ^
    "$Console=(Get-Host).UI.RawUI;Switch($Console.BackgroundColor," ^
    "$Console.ForegroundColor){'Black'{40}'DarkBlue'{44}'DarkGreen'{42}" ^
    "'DarkCyan'{46}'DarkRed'{41}'DarkMagenta'{45}'DarkYellow'{43}'Gray'{47}" ^
    "'DarkGray'{100}'Blue'{104}'Green'{102}'Cyan'{106}'Red'{101}" ^
    "'Magenta'{105}'Yellow'{103}'White'{107}}" 2^>NUL')Do If Not Defined BG (
    Set "BG=%%#")Else Set "FG=%%#"
For /F %%G In ('Echo Prompt $E ^| "%__AppDir__%cmd.exe"') Do Set "ESC=%%G"
ClS
Echo=
Echo=
Echo=
Echo                             %ESC%[92;107m                                                ,,            %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m  .g8"""bgd  %ESC%[92m                                 `7MM            %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m .dP'    `M  %ESC%[92m                                   MM            %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m dm'      `  %ESC%[91m  ,pW"Wq.  %ESC%[93m  ,pW"Wq. %ESC%[94m  .P"Ybmmm %ESC%[92m   MM  %ESC%[91m  .gP"Ya  %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m MM          %ESC%[91m 6W'   `Wb %ESC%[93m 6W'   `Wb%ESC%[94m :MI  I8   %ESC%[92m   MM  %ESC%[91m ,M'   Yb %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m MM.   `7MMF'%ESC%[91m 8M     MB %ESC%[93m 8M     MB%ESC%[94m  Wmmmp"   %ESC%[92m   MM  %ESC%[91m 8M"""""" %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m `Mb     MM  %ESC%[91m YA.   ,A9 %ESC%[93m YA.   ,A9%ESC%[94m 8M        %ESC%[92m   MM  %ESC%[91m YM.    . %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m  `"bmmmdPY  %ESC%[91m  `Ybmd9'  %ESC%[93m  `Ybmd9' %ESC%[94m  YMMMMMb  %ESC%[92m .JMML.%ESC%[91m  `Mbmmd' %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m                                   6'    dP                   %ESC%[%FG%;%BG%m
Echo                             %ESC%[94;107m                                    Ybmmmd'                   %ESC%[%FG%;%BG%m
Echo=
Echo=
Echo=
Pause 1> NUL
GoTo :EOF

以上方法利用的问题,并使用当前控制台的前景色和背景色创建变量.这样可以确保在处理了颜色更改的图像行后正确重置它们. (当然,脚本编写者从一开始就可以定义已知的颜色)

This above method leverages powershell to determine, and create variables using the current console foreground and background colors. This ensures that they are reset correctly after the color changed image lines have been processed. (Of course the script writer could just define known colors, right from the outset)

我要补充一点,命令行应该用于键入命令和读取文本输出,而不是用于显示不必要的幼稚图像和颜色.如果要使用GUI,请构建一个GUI程序,而不是控制台程序.

这篇关于如何将多种颜色应用于“线条"?在Windows命令提示符下?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆