猿问

如何在Windows批处理文件中有多种颜色?

如何在Windows批处理文件中有多种颜色?

我想知道是否有可能在Windows批处理文件中的同一行中有不同颜色的文本,例如,如果它说

echo hi world

我希望“嗨”是一种颜色,“世界”是另一种颜色。也许我可以将color命令设置为变量:

set color1= color 2
set color9= color A

然后将它们部署在同一条线上,同时

echo hi world

但我不知道我该怎么做。


回首忆惘然
浏览 1900回答 3
3回答

LEATH

您可以在没有任何外部程序的情况下进行多色输出。@echo&nbsp;off SETLOCAL&nbsp;EnableDelayedExpansion for&nbsp;/F&nbsp;"tokens=1,2&nbsp;delims=#"&nbsp;%%a&nbsp;in&nbsp;('"prompt&nbsp;#$H#$E#&nbsp;&&nbsp;echo&nbsp;on&nbsp;&&nbsp;for&nbsp;%%b&nbsp;in&nbsp;(1)&nbsp;do&nbsp;rem"')&nbsp;do&nbsp;( &nbsp;&nbsp;set&nbsp;"DEL=%%a" ) echo&nbsp;say&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;colors,&nbsp;don't&nbsp;read call&nbsp;:ColorText&nbsp;0a&nbsp;"blue" call&nbsp;:ColorText&nbsp;0C&nbsp;"green" call&nbsp;:ColorText&nbsp;0b&nbsp;"red" echo( call&nbsp;:ColorText&nbsp;19&nbsp;"yellow" call&nbsp;:ColorText&nbsp;2F&nbsp;"black" call&nbsp;:ColorText&nbsp;4e&nbsp;"white" goto&nbsp;:eof :ColorText echo&nbsp;off <nul&nbsp;set&nbsp;/p&nbsp;".=%DEL%"&nbsp;>&nbsp;"%~2" findstr&nbsp;/v&nbsp;/a:%1&nbsp;/R&nbsp;"^$"&nbsp;"%~2"&nbsp;nul del&nbsp;"%~2"&nbsp;>&nbsp;nul&nbsp;2>&1 goto&nbsp;:eof它使用findstr命令的颜色特性。Findstr可以配置为以定义的颜色输出行号或文件名。因此,我首先创建一个以文本为文件名的文件,内容是一个<backspace>性格(ASCII 8)。然后,我在文件和nul中搜索所有非空行,因此文件名将以附加冒号的正确颜色输出,但冒号将由<backspace>.所有字符都是有效的。@echo&nbsp;off setlocal&nbsp;EnableDelayedExpansion for&nbsp;/F&nbsp;"tokens=1,2&nbsp;delims=#"&nbsp;%%a&nbsp;in&nbsp;('"prompt&nbsp;#$H#$E#&nbsp;&&nbsp;echo&nbsp;on&nbsp;&&nbsp;for&nbsp;%%b&nbsp;in&nbsp;(1)&nbsp;do&nbsp;rem"')&nbsp;do&nbsp;( &nbsp;&nbsp;set&nbsp;"DEL=%%a" ) rem&nbsp;Prepare&nbsp;a&nbsp;file&nbsp;"X"&nbsp;with&nbsp;only&nbsp;one&nbsp;dot <nul&nbsp;>&nbsp;X&nbsp;set&nbsp;/p&nbsp;".=." call&nbsp;:color&nbsp;1a&nbsp;"a" call&nbsp;:color&nbsp;1b&nbsp;"b" call&nbsp;:color&nbsp;1c&nbsp;"^!<>&|&nbsp;%%%%"*?" exit&nbsp;/b :color set&nbsp;"param=^%~2"&nbsp;! set&nbsp;"param=!param:"=\"!" findstr&nbsp;/p&nbsp;/A:%1&nbsp;"."&nbsp;"!param!\..\X"&nbsp;nul <nul&nbsp;set&nbsp;/p&nbsp;".=%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%" exit&nbsp;/b这使用了有效路径/文件名的规则。如果\..\在路径中,前缀元素将被完全删除,并且不需要此元素只包含有效的文件名字符。

收到一只叮咚

如果您有一个现代Windows(安装了Powershell),那么下面的操作也会很好call&nbsp;:PrintBright&nbsp;Something&nbsp;Something &nbsp;&nbsp;(do&nbsp;actual&nbsp;batch&nbsp;stuff&nbsp;here) call&nbsp;:PrintBright&nbsp;Done! goto&nbsp;:eof :PrintBright powershell&nbsp;-Command&nbsp;Write-Host&nbsp;"%*"&nbsp;-foreground&nbsp;"White"根据你认为合适的情况调整颜色。
随时随地看视频慕课网APP
我要回答