zoukankan      html  css  js  c++  java
  • bat echo 输出内容为不同的颜色

     实例1:

    @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 使用注意事项:

    1.你的代码放在 :start 和第一行 goto :eof之间

    2.换行使用 echo.

    3.最好使用双引号把内容括起来,不然遇到空格就会报拒绝访问的错误,内容如果包含特殊字符(例如:"a:!aa" 等等,一般是win不允许我们用来命名文件的符号),也可能导致报错,或者字符不显示,所以最好不要使用特殊字符,这个会在当前目录生成一个临时文件,以你的内容为命名,如果包含了那些字符,就会产生那些文件,最好不删除,需要自己手动删除。

    4.关于颜色,有背景色和字体色,第一个数字代表背景色,第二个数字代表字体色,至于颜色值,在 cmd 中输入 color /? 查看

    实例1出处:https://www.cnblogs.com/ibingshan/p/10906622.html

    实例2:

    @echo off
    ::程序开始前要先调用putcstart来创建一次颜色文件
    call:putcstart
    
    
    ::调用过程就是[putcchar 文字 颜色]。文字不能有/:*?"<>|这些符号,因为是通过文件名来产生颜色的;而颜色则跟color命令中的一样。
    call:putcchar "This is a test" 2b
    call:putcchar " !" 2e
    echo.
    echo.
    
    
    ::由于受到文件的限制作用,空格符也会有所限制,比如字符串以空格开始、中间含有空格、以空格结尾这三种方式运行的结果都不同。
    echo 理想输出[___空格在前面]
    call:putchar "实际输出["
    call:putcchar "   空格在前面" 5b
    echo ]
    echo.
    echo 理想输出[空格在___中间]
    call:putchar "实际输出["
    call:putcchar "空格在   中间" 5b
    echo ]
    echo.
    echo 理想输出[空格在后面___]
    call:putchar "实际输出["
    call:putcchar "空格在后面   " 5b
    echo ]
    echo.
    
    call:putcchar "" 09
    call:putcchar "" 02
    call:putcchar "" 03
    call:putcchar "" 04
    call:putcchar " Power" 05
    call:putcchar " By" 06
    call:putcchar " Kisiboo" 0E
    
    pause>nul
    goto :eof
    
    
    
    ::下面是过程部分(可以直接复制走)
    
    :putcstart
    set crp=c:
    set crf=crfile.tmp
    set /p=   <nul>%crp%%crf%
    goto :eof
    
    :putcchar
    ren %crp%%crf% %1
    pushd .&C:&cd
    findstr /a:%2 . %1?
    ren %crp%%1 %crf%
    popd
    goto :eof
    
    :putchar
    set /p=%1<nul
    goto :eof

  • 相关阅读:
    XML(学习笔记)
    css样式学习笔记
    Request(对象)
    sql一些错误修改的总结
    转载(如何学习C#)
    sql server(学习笔记2 W3Cschool)
    sql sqrver(学习笔记1 W3Cschool)
    关于 flutter开发碰到的各种问题,有的已经解决有的一直没解决或者用其他方法替代
    关于 Flutter IOS build It appears that your application still contains the default signing identifier.
    关于 flutter本地化问题 The getter 'pasteButtonLabel' was called on null
  • 原文地址:https://www.cnblogs.com/-mrl/p/13792983.html
Copyright © 2011-2022 走看看