彩色文字 逐字显示 ,三年前写的了,现在看不懂了,悲催,因为BAT语言比较低级(底层)....

::亲爱的李智老婆,祝你 生 日 快 乐!!!
::
::         我爱你!!!
::
::                    --your 岗岗
::
::   █ ☆岗岗◢██◣  █  █*  ◢██◣☆ 
::   █ ≈  █*  █  █* 智█  █īΘ █   
::   █ *   █爱 █  ◥◣◢◤  █ 智 █   
::   ███◣ ◥██◤☆  ◥◤ *  ◥██◤*






@echo off&setlocal enabledelayedexpansion
mode con: cols=50 lines=15
;for /f "delims=" %%i in ('findstr :: %0') do (
set "Mstr=%%i"
set "Mstr=!Mstr:~2!"
call :逐字显示
echo.
)

:无限循环
call :FunDelay 100
call :随机设置字体颜色和背景颜色
goto 无限循环

pause>nul

:逐字显示
call :FunDelay 100
if defined Mstr (
set "s=!Mstr:~0,1!"
if defined s (
set /p "= !s!_"<nul
set Mstr=!Mstr:~1!
call :随机设置字体颜色和背景颜色
goto 逐字显示
) else (
set /p "= "<nul
)
goto :eof

:随机设置字体颜色和背景颜色
set "stra=123456789abcde"
set /a "nb=%random%%%13+1"
set "ya=:~!nb!,1"
set "y=!stra%ya%!"
color 0!y!
goto :eof

:FunDelay
set beginTime=%time%
set/a minute1=1%beginTime:~3,2%-100
set/a second1=1%beginTime:~6,2%%beginTime:~-2%0-100000
:LoopContinue
set nowTime=%time%
set/a minute2=1%nowTime:~3,2%-100
set/a second2=1%nowTime:~6,2%%nowTime:~-2%0-100000
set/a difMs=((%minute2%-%minute1%+60)%%60)*60000+%second2%-%second1%
if %difMs% lss %1 goto LoopContinue

注意:红色代码里,!s!,<之前不是空格,而是退格符,博客显示不出来。

猜你喜欢

转载自blog.csdn.net/qq_33534723/article/details/50415831