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

  • 相关阅读:
    一个基础的C#的ACCESS操作类
    ASP.NET常用的三十三种实用代码
    在ASP.NET中使用MD5和SHA1加密
    一个比较漂亮的DataGrid样式表
    微软的面试题
    打印自定义纸张大小
    ASP.Net(C#)连接Oracle数据库的方法
    C#正则表达式应用范例
    matlab 字符串处理函数
    centos语言设置
  • 原文地址:https://www.cnblogs.com/-mrl/p/13792983.html
Copyright © 2011-2022 走看看