bat echo 输出不同的文字颜色和背景色
bat显示多行文字,逐个显示哦!不同的颜色!
最近想修改bat文件输出提示的时候能有不同的颜色提示,在网上找了下,发现这个文章,实现的不错,先记录下来,留着后面研究。
这是曾经写的,又稍微改进了一下。 @echo off set str=青天有月来几时 我今停杯一问之 人攀明月不可得 月行却与人相随 setlocal enabledelayedexpansion set col=CAD9B for /f "tokens=1-4 delims= " %%1 in ("%str%") do (echo. for %%m in (%%1 %%2 %%3 %%4) do (set s=%%m for /l %%a in (0,1,6) do ( call set b=0%%col:~!x!,1%% set /a x+=1&if !x!==5 (set x=0) set c=!s:~%%a,1! set/p= <nul>!c! findstr /a:!b! .* "!c!*" del !c! ping /n 1 /w 500 127.1>nul&ping /n 1 /w 500 127.1>nul&ping /n 1 /w 500 127.1>nul) echo.&echo.)) pause>nul&exit
=======================================================================================
bat echo 输出内容为不同的颜色
先看代码:
@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" ) rem echo say the name of the colors, don't read :start rem cls 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" echo. echo aaaaaa pause goto :eof :ColorText echo off <nul set /p ".=%DEL%" > "%~2" findstr /v /a:%1 /R "^$" "%~2" nul del "%~2" > nul 2>&1 goto :eof
使用注意事项:
1.你的代码放在 :start 和第一行 goto :eof之间
2.换行使用 echo.
3.最好使用双引号把内容括起来,不然遇到空格就会报拒绝访问的错误,内容如果包含特殊字符(例如:"a:!aa" 等等,一般是win不允许我们用来命名文件的符号),也可能导致报错,或者字符不显示,所以最好不要使用特殊字符,这个会在当前目录生成一个临时文件,以你的内容为命名,如果包含了那些字符,就会产生那些文件,最好不删除,需要自己手动删除。
4.关于颜色,有背景色和字体色,第一个数字代表背景色,第二个数字代表字体色,至于颜色值,在 cmd 中输入 color /? 查看
出处:https://www.cnblogs.com/ibingshan/p/10906622.html
=======================================================================================
今天从网上看到一个强制删除的脚本,其中里面有使用到指定颜色显示的,感觉还不错,我自己也修改了一下,代码参考如下:
@echo off call :colortheword "将着色的字符" 37 "使用默认颜色显示" goto :eof rem 在参数中<>为必选项,[]为可选项,调用参数:<str1=将着色的字符> [str2=颜色设置] [str3=正常显示字符] :colortheword <str1=将着色的字符> [str2=颜色设置] [str3=正常显示字符] set "objFile=%~1" set "objColor=07"&if not "%~2."=="." set "objColor=%~2" set "objMsg= "&if not "%~3."=="." set "objMsg=%~3" for /F %%a in ('"prompt $h & for %%b in (1) do rem"')do set /p="%%a%objMsg%"<nul>"%objFile%" findstr /a:%objColor% .* "%objFile%" nul del /q "%objFile%" >nul 2>nul goto :eof
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/4575686.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
posted on 2015-06-14 20:48 jack_Meng 阅读(9138) 评论(1) 编辑 收藏 举报