批处理文件中的颜色回显[重复]

问题描述 投票:0回答:1

如何添加颜色以在批处理中回显?

我只想回声说些类似的话

echo <Colorful text here>
batch-file echo
1个回答
3
投票

如果调用自定义C ++程序,它[容易。

尽管实际上没有必要做这样的事情,但有可能。

有一个预制的C ++脚本,可以编译成Windows可以在http://www.codeproject.com/Articles/17033/Add-Colors-to-Batch-Files上运行的东西

该网站几乎解释了您需要了解的所有内容,但在这里我将提供一些帮助示例。

您可以使用的颜色代码是

    0 =黑色8 =灰色
  • 1 =海军9 =蓝色
  • 2 =绿色A =石灰
  • 3 =蓝绿色B =浅绿色
  • 4 =栗色C =红色
  • 5 =紫色D =紫红色
  • 6 =橄榄色E =黄色
  • 7 =银色F =白色
  • 我猜您想做的是彩色文本,将颜色恢复为正常颜色,然后换行。为此,您可以使用以下...

    cecho {0C}Hello world!{#}{\n}

    [当您运行以上命令时,“ Hello world!”将显示为红色。

    第一个数字是背景,第二个数字是前景(实际文本颜色)。

    另一个例子是黑色的黄色:

    cecho {0E}Yellow is a nice color.{#}{\n}

    编辑:

  • 如果您要为所有内容着色,请使用Windows随附的color命令。

    color 0c

    ((黑色绿色)

    编辑:

    如果您希望仅使用批处理为单行着色(不使用其他资源),请尝试以下示例:

    echo off SETLOCAL EnableDelayedExpansion for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do ( set "DEL=%%a" ) echo say the name of the colors, don't read call :ColorText 0a "blue" call :ColorText 0C "green" call :ColorText 0b "red" echo( call :ColorText 19 "yellow" call :ColorText 2F "black" call :ColorText 4e "white" goto :eof :ColorText echo off <nul set /p ".=%DEL%" > "%~2" findstr /v /a:%1 /R "^$" "%~2" nul del "%~2" > nul 2>&1 goto :eof

    此费用归功于图坦卡蒙(Tutankhamen)。

    https://stackoverflow.com/a/23072489/3931279上的原始答案(来自图坦卡门)

    © www.soinside.com 2019 - 2024. All rights reserved.