如何在 BAT 文件中放入 2 种不同颜色的文本?

如何在 BAT 文件中放入 2 种不同颜色的文本?

我怎样才能放入 2 个不同颜色的文本?因为当我尝试将例如//颜色 B 放入一个文本,然后将颜色 A 放入另一个文本时,我选择了颜色 A,即下面的代码和我所采用的代码:

代码:

在此处输入图片描述

。蝙蝠:

在此处输入图片描述

答案1

使用 ANSI 转义码,就像在终端和打印机中使用的一样。这里有一个很棒的演示GitHub 上的批处理文件. 查看记事本++或其他代码编辑器来查看特殊字符,例如 ASCII(27)、ESC。顺便说一句,pause在最后一行添加一个,否则显示输出的命令提示符将很快消失。

例如,在 .bat 文件中,输入echo ▼[31mRed▼[0m,其中三角形 ▼ 表示要ESC查看红色字母的单词。在 Notepad++ 中,可以从角色面板(或 Windows字符映射表或者巴别地图

Notepad++ 字符面板

请注意,该字符串<ESC>[31m将其后的文本设置为红色,并将<ESC>[0m文本颜色重置为默认值。

答案2

@(cls & color 1f & cd. & goto %:^))
                   _______  ______    _______  _______  _______        __   __  ____
                  |       ||    _ |  |       ||       ||       |      |  | |  ||    |
                  |    ___||   | ||  |   _   ||  _____||_     _|      |  |_|  | |   |
                  |   |___ |   |_||_ |  | |  || |_____   |   |        |       | |   |
                  |    ___||    __  ||  |_|  ||_____  |  |   |        |       | |   |
                  |   |    |   |  | ||       | _____| |  |   |         |     |  |   |
                  |___|    |___|  |_||_______||_______|  |___|          |___|   |___|

%:^)
@echo off

for /f skip^=4 %%e in ('echo;prompt $E^|cmd.exe')do set "_$E=%%~e"
title <nul & title %_$E% SuperUser %_$E% Q1826937 & mode con lines=16 cols=104

findstr.exe /e "_ |" "%~f0" & echo/ & pathping 127.1 -n -q 1 -p 1500 >nul 2>nul & color

timeout /t 02 | echo\ %_$e%[0;30;32;40mThis is a sentence with %_$e%[0;1;4;34;40mcolor A%_$e%[0m & echo/
timeout /t 02 | echo/ %_$e%[0;30;32;40mThis is a sentence with %_$e%[0;1;4;31;40mcolor B%_$e%[0m & echo\
timeout /t 02 | echo\ %_$e%[0;30;32;40mThis is a sentence with %_$e%[0;1;4;34;40mcolor A%_$e%[0;30;32;40m and %_$e%[0;1;4;31;40mcolor B%_$e%[0m & echo\

在此处输入图片描述


如果你愿意,你可以将 ESC 作为变量,因此无论使用哪种文本编辑器,你都可以选择插入这种类型的字符,并按照不同的颜色选项编写行,格式化,还有与版本/系统相关的限制。


或许你还可能会感兴趣:
如何清除 echo 命令发送的消息

相关内容