各位,看看我为论坛准备的 bat 批处理广告。
总算是完成了,考虑到网上很多地方不能正确的处理代码中的空格,
所以每句都用括弧包了起来,并且凡是有连续空格的地方,都用变量来代替。
其实有些变量已经加了引号,再用括弧包起来,实在有点画蛇添足,也懒的改了。
计算cmd窗口尺寸部分实在很“蹩脚”不知道怎么计算,最后是套出来的。看各位有什么好方法没有。
====================================
代码有 五个 动画特效
效果一、 进度条
效果二、 下拉显示字符画 “批处理”
效果三、 逐字显示广告词。
效果四、 文字闪烁。
效果五、 以上每个特效出来之前cmd窗口都会逐渐缩小、放大一次,并且不断改变颜色。
========================================
广告词由 namejm 编写。
两个效果一样的代码 易懂的代码以后再写吧,今天没精神了。
一个“晦涩难读” 一个 “通俗易懂” 诸位看看用哪个合适?
代码一、
为“炫耀”技术和增加“神秘感”使用了大量的符号作为变量名,并特意绕了很大的弯路,以使代码“难读”。
代码的第二个“特效”即:显示“批处理”思路及原代码,由会员“泛滥棏慌”提供,我只作了稍许改动。
:- @echo off&setlocal EnableDelayedExpansion
- goto start_1
- 我们,是一群执著的批处理爱好者
- 在色彩斑斓的Windows下,开启CMD这扇深邃的窗口
- 曾经挑灯夜战,曾经彻夜不眠
- 我们之所以如此似痴若狂,是因为我们深知:
- 尺有所短、寸有所长,CMD不同凡响
- 我们精益求精,力求完美
- 所有的努力,只为了用最简洁的语言,编写最具实用性的代码
- 批处理之家 bbs.bathome.net
- 高手汇聚、资料齐全、是新手入门的福地、老手晋级的乐园
- 不求最大、但求最好、展现批处理的无穷魅力、一切精彩,尽在 ~~ 批处理之家 ~~
- :start_1
- (set num1=90&set num2=15&set "ko= ")
- (mode con: cols=!num1! lines=!num2!)
- (set k4=!ko!!ko!!ko!!ko!)
- (title code by 随风 2007-12-1 @bbs.bathome.net)
- for /l %%a in (1 1 5) do (set yanse=!yanse!abcdef123456789)
- (set fang=■&echo.&echo.&set ",=0123456789"&set "hanghao=12")
- for /l,%%a,in,(1,1,20),do,(set k=!k!!ko!)
- for /f,"tokens=1* delims=:" %%a,in,('findstr /n .* "%~0"'),do,(
- if,%%a,leq,%hanghao%,(set _%%a=%%b))
- (set "_1=%k%批处理之家!ko!!ko!bbs.bathome.net!ko!!ko!欢迎您")
- (set "_2=!k4!!k4!!ko!!ko!网址:bbs.bathome.net")
- (set "_2=!_2!!k4!群号:43011867!k4!站长:youxi01")
- (set sans=!k4!!k4!!ko!────!k4!批处理之家!ko!!ko!bbs.bathome.net!k4!!ko!)
- ::======================================================================
- call :cuko
- for /l %%a in (1 1 28) do (set "kkk= !kkk!")
- (set kait=%kkk%批处理之家!ko!!ko!bbs.bathome.net!ko!!ko!欢迎您)
- echo\&echo\&echo\
- for /l %%k in (0 1 100) do (
- if not "!kait:~%%k,1"=="" (set/p=!kait:~%%k,1!<nul)
- for /l %%i in (1 1 100) do ver>nul)
- (echo.&echo.&echo.&echo.&set/p=!k4!!k4!!ko!!ko!!ko!<nul)
- for /l %%a in (1 1 33) do (
- (set /a jind=%%a*3)
- (set "jind=!k4!!jind!")
- (set "jind=!jind:~-3!")
- (set /p=%fang%!jind!%%<nul)
- (set /p=<nul)
- for /l %%i in (1 1 300) do ver>nul)
- (set/p= 100%%<nul)&(ping/n 3 127.1>nul)
- call :cuko
- call :texiao
- call :cuko 17
- echo CMD-BAT
- for /l,%%a,in,(1,1,%hanghao%),do,(
- (set "]=0")
- for /l,%%i,in,(0,1,100),do,(
- (set /=!_%%a!)
- if,not,"!_%%a:~%%i,1!"=="",(set /a]+=1))
- call :lis
- if %%a equ 2 echo.)
- (echo\&echo\&echo\&color 1a)
- (set/p=!sans!<nul)
- goto sansuo
- :lis
- (echo\&echo\&set/p= !k4!<nul)
- (set /a "\=!]:~0,1!")
- set/a?=1/(1/!]:~-1!)2>nul||(set "/=!/! ")
- set/a?=1/(10/])2>nul&&(set \=1&set:=1)||(set:=0)
- for /l,%%a,in,(!:! 1 !\!),do,(
- (set "{=")
- if,%%a,equ,!\!,(set }=!]:~-1!),else,(set }=9)
- for /l,%%i,in,(0 1 !}!),do,(set {=!{!%%i)
- call :xs)
- goto :eof
- :xs
- for /l,%%k,in,(0 1 !}!),do,(
- (call,call,call,set /p=%%%%%%%%/:~%%%%{:~%%,:~%%k,1%%,1%%%%,1%%%%%%%%<nul)
- for /l,%%i,in,(1,1,200),do,ver>nul)
- (set /a "sq=}+1")
- (call,set "/=%%/:~!sq!%%")
- goto :eof
- :cuko
- (set quese=0&set ookk=)&(set bai1=-&set bai2=-)
- for /l %%i in (1,1,72) do (
- for /l %%h in (2 2 72) do (if "%%i"=="%%h" set ookk=a)
- (call set pys=%%yanse:~!quese!,1%%)
- (color !pys!1)
- (if defined ookk set /a quese+=1&set ookk=)
- (if %%i gtr 36 set bai1=+)
- (if !num2! equ 3 set bai2=+)
- if not "%1"=="" (
- if not defined llis if !num2! equ %~1 set bai2=-&set llis=a)
- (if "%1"=="" if !num2! equ 15 set bai2=-)
- (set /a num1!bai1!=2&set /a num2!bai2!=1)
- (mode con cols=!num1! lines=!num2!))
- (color 1f)
- for /l %%a in (1 1 1500) do (ver>nul)
- goto :eof
- :sansuo
- endlocal&(set k16=%k4%%k4%%k4%%k4%)
- set _=0&set ")=%k16%"&(set "(=欢迎您的加入 !!!")
- set "T="
- :loop
- (set/p=%(%<nul)
- if,%_%,geq,500,echo.&echo.&echo.&pause&exit
- (set/p=%T%<nul)
- (for /l,%%i,in,(1,1,1500),do,ver>nul)
- set (=%)%&set ")=%(%"&(set/a "_+=1")
- goto loop
- :texiao 以下代码 作者:泛滥棏慌
- echo\&echo\
- set pcl=8 4 -1 4 -1 4 -1 10 -1 8 -1 16 -7 , 8 4 -1 4 -1 4 -1 10 -1 8 -1 8 -5 4 -1 4 -1 , 8 -4 2 -1 4 -1 10 -4 2 -1 12 -1 2 -7 , 8 4 -1 4 -1 4 -1 2 -1 6 -1 4 -1 2 -2 10 -1 2 -1 4 -1 4 -1 , 8 4 -1 4 -2 2 -2 6 -1 6 -1 2 -1 2 -1 4 -5 4 -1 4 -1 , 8 4 -2 2 -1 4 -1 8 -1 4 -1 4 -1 4 -1 6 -1 2 -7 , 8 -3 4 -1 4 -1 6 -1 2 -1 2 -1 4 -1 12 -1 8 -1 , 8 4 -1 4 -1 4 -1 12 -1 6 -1 12 -1 4 -5 , 8 4 -1 4 -1 2 -2 2 -1 8 -1 6 -1 12 -2 6 -1 , 8 4 -1 4 -2 2 -1 2 -1 6 -1 2 -2 2 -1 8 -2 10 -1 , 8 -3 4 -1 4 -3 2 -2 8 -5 8 -8
- for %%i in (!pcl!) do (
- if "%%i"=="," (echo.&for /l %%a in (1 1 300) do ver>nul)
- (set a=%%i)&(set b=!a:-=!)
- if %%i lss 0 (for /l %%j in (1,1,!b!) do (set/p=▓<nul)) else (
- for /l %%k in (1,1,%%i) do (set/p= <nul)))
- (ping/n 3 127.1>nul)
- goto :eof
复制代码
|