标题: [游戏娱乐] 潜水数天完成了自己满意的批处理数码雨 [打印本页]
作者: 523066680 时间: 2008-8-9 20:17 标题: 潜水数天完成了自己满意的批处理数码雨
该批处理同时在cn-dos发布。http://www.cn-dos.net/forum/forumdisplay.php?fid=23&page=1
留意该批处理的第二行特效。- @echo off
- title made by 523066680 2008-08-08
- ::这一版本由www.cn-dos.net & www.bathome.net 成员523066680编辑
- mode con cols=85 lines=21
- color 0a
- setlocal enabledelayedexpansion
- set a=0
- for %%m in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
- if !a! leq 9 (set n0!a!=%%m) else (set n!b!=%%m)
- set /a a+=1
- set /a b=!a!-10
- )
- for %%M in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- set n!b!=%%M
- set /a b+=1
- )
- for /l %%a in (1,1,20) do (
- set h%%a=
- for /l %%b in (1,1,20) do (
- call,set code=%%n!random:~1,2!%%
- if not defined code (set "code= ")
- set h%%a=!code! !h%%a!
- )
- )
- set num=0
- :a
- set /a num+=1
- if %num% equ 260 set num=0
- ping -n>nul
- cls
- echo, %h1%
- echo, %hn%
- for /l %%a in (3,1,20) do echo, !h%%a!
- for /l %%a in (19,-1,1) do (
- set /a n=1+%%a
- set h!n!=!h%%a!
- )
- set hn=%h2%
- set h1=
- for /l %%b in (1,1,20) do (
- call,set code=%%n!random:~1,2!%%
- if not defined code (set "code= ")
- set h1=!code! !h1!
- )
-
- if %num% gtr 80 (if %num% lss 100 set hn= %h19: = %)
- if %num% gtr 140 (if %num% lss 160 set hn= %h19: = %)
- if %num% gtr 200 (if %num% lss 220 set hn= %h19: = %)
- if %num% gtr 100 (if %num% leq 130 (
- set hn=%hn:~0,20% B a t H o m e I f _ E x i s t %hn:~-20%
- ))
- if %num% gtr 160 (if %num% leq 190 (
- set hn=%hn:~0,19% C n - D o s I f _ E x i s t %hn:~-19%
- ))
- if %num% gtr 220 (if %num% leq 240 (
- set hn=%hn:~0,19% W W W . 3 X 4 Y . C O M %hn:~0,19%
- ))
- for %%a in (100 160 220) do (
- if %num% equ %%a (set hn= =====================+================== ))
- goto :a
- pause
- pause
复制代码
作者: cwjvicky 时间: 2008-8-9 20:46
试过了,不错啊!!!
作者: 愚无尽 时间: 2008-8-10 11:47
效果是目前见到比较好的了,加油!再加入些随机数字字符效果才更好,另外数码雨的层次长短也非常必要,不要总是满屏都是嘛
作者: 523066680 时间: 2008-8-14 10:21 标题: 闪烁好难处理 ……我只能做到这样了
- @echo off
- title made by 523066680 2008-08-08
- ::这一版本由www.cn-dos.net & www.bathome.net 成员523066680编辑
- mode con cols=110 lines=21
- color 0a
- setlocal enabledelayedexpansion
- set a=0
- for %%m in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
- if !a! leq 9 (set n0!a!=%%m) else (set n!b!=%%m)
- set /a a+=1
- set /a b=!a!-10
- )
- for %%M in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- set n!b!=%%M
- set /a b+=1
- )
- for /l %%a in (1,1,20) do (
- set h%%a=
- for /l %%b in (1,1,20) do (
- call,set code=%%n!random:~3,2!%%
- if not defined code (set "code= ")
- set h%%a=!code! !h%%a!
- )
- )
- set num=0
- :a
- set /a num+=1
- if %num% equ 260 set num=0
- del xXx
- ECHO, %h1%>>XXX
- ECHO, %hn%>>XXX
- for /l %%a in (3,1,20) do echo, !h%%a!>>xXx
- for /l %%a in (1,1,100) do echo,>nul
- cls
- type xXx
- for /l %%a in (19,-1,1) do (
- set /a n=1+%%a
- set h!n!=!h%%a!
- )
- set hn=%h2%
- set h1=
- for /l %%b in (1,1,20) do (
- call,set code=%%n!random:~3,2!%%
- if not defined code (set "code= ")
- set h1=!code! !h1!
- )
-
- if %num% gtr 80 (if %num% lss 100 set hn= %h19: = %)
- if %num% gtr 140 (if %num% lss 160 set hn= %h19: = %)
- if %num% gtr 200 (if %num% lss 220 set hn= %h19: = %)
- if %num% gtr 100 (if %num% leq 130 (
- set hn=%hn:~0,30% B a t H o m e I f _ E x i s t %hn:~-30%
- ))
- if %num% gtr 160 (if %num% leq 190 (
- set hn=%hn:~0,29% C n - D o s I f _ E x i s t %hn:~-29%
- ))
- if %num% gtr 220 (if %num% leq 240 (
- set hn=%hn:~0,29% W W W . 3 X 4 Y . C O M %hn:~0,29%
- ))
- for %%a in (100 160 220) do (
- if %num% equ %%a (set hn= =====================+================== ))
- goto :a
复制代码
作者: 523066680 时间: 2008-8-19 08:26
话说我的贴子怎么就少人回帖啊
作者: hisplay 时间: 2008-8-19 21:10
支持........原创............
作者: hisplay 时间: 2008-8-19 21:27
后一代码有临时文件遗留.... 支持绿化
作者: 523066680 时间: 2008-8-20 09:24
真不容易呢 呵呵 写累了,大家如果有看 就看一楼的吧
作者: Yioky 时间: 2008-8-30 20:04
晕啊,我怎么没看到什么效果啊
作者: Yioky 时间: 2008-8-30 20:06
- -!
这bat也会冲突吗,我换了个文件夹就看到了
确实牛哈,学习!!!!!!
作者: huangzongwu 时间: 2008-9-1 15:57
相当不错的说,
很漂亮啊!
作者: 3399kl 时间: 2008-9-11 14:09
高手。。。要向高手努力学习
作者: leaparde 时间: 2008-11-28 19:10
bat可以运用到这个程度,简直太牛了,一定要好好学习。
作者: zss427607 时间: 2009-1-24 19:46
确实牛呀 ,学习!!!!!!
作者: noevil 时间: 2009-2-3 16:57 标题: 加上它效果会更好
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
chcp 437>nul
graftabl 936>nul
放在@echo off 下面
作者: tylerxi 时间: 2009-2-6 09:56
太强了....果然猛 刚刚要学习BAT
作者: Dosny 时间: 2009-2-6 19:41
有意思..学习昂.....只是4楼的为什么关闭的时候会有个XXX文件....
作者: Peking007 时间: 2009-2-27 17:32
想起了黑客帝国的动画~~~
作者: xavierjian 时间: 2009-3-2 18:16
请问下楼主,怎样修改才能让这比处理运行一段时间后,进入一个批处理的菜单?
我是想让你的这个雨做个开始动画,炫耀下
作者: kasalor 时间: 2009-3-2 18:24
强啊,羡慕中,我啥时候才做的到
作者: Batcher 时间: 2009-3-2 19:59 标题: 回复 21楼 的帖子
建议学习一些批处理实用功能,不要在这些华而不实的东西上面花费太多精力。
作者: Allmen 时间: 2009-3-6 19:43
很好,以前只写过一些非常简单的bat,今天来看,原来是这么的强大~
作者: liugang123200 时间: 2009-4-4 22:56
学习 不错啊
作者: sexfio 时间: 2009-4-16 11:21
- @echo off
- color 0a
- echo 打雷啦,下雨啦,回家收衣服啦!!!
- setlocal ENABLEDELAYEDEXPANSION
- for /l %%i in (0) do (
- set "line="
- for /l %%j in (1,1,80) do (
- set /a Down%%j-=2
- set "x=!Down%%j!"
- if !x! LSS 0 (
- set /a Arrow%%j=!random!%%3
- set /a Down%%j=!random!%%15+10
- )
- set "x=!Arrow%%j!"
- if "!x!" == "2" (
- set "line=!line!!random:~-1! "
- ) else (set "line=!line! ")
- )
- set /p=!line!<nul)
复制代码
作者: netbenton 时间: 2009-4-17 22:46
::黑客数码雨双向移动+左右文字滚动,逼真效果
- @echo off&color 0a
- if defined lins goto :sub
- set "lins= 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
- setlocal enabledelayedexpansion
- start /b %~n0.bat
- title 数码雨 By Benton 按任意键退出
- set str=fedcbag h i j k l m n o p q r s t u v w x y z9876543210ABCDEFG H I J K L M N O P Q R S T U V W X Y Z
- for %%i in (%lins%) do (
- for /l %%j in (1,1,8) do (
- set "m%%i=!m%%i! "
- set "n%%i=!n%%i! "
- )
- )
- set n=2
- set m=0
- set k=0
- set "in0=。。。。——《《欢迎来到黑客帝国》》——。。。。。"
- set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
- ::预处理结束
-
- :::::::::::::::循环体:::::::::::::::
- :loop
- set var= %%str:~!random:~0,2!,1%%
- for /l %%i in (1,1,2) do (
- call set "var=!var! %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%%"
- )
- set/a n=^(n+23^)%%24,m=^(m+23^)%%24
- set m%m%=!var!
- set n%n%=!var!
- set lins=!lins:~-3!!lins:~0,-3!
- set tem=!n0!
- for %%a in (a b) do (
- for /l %%i in (23,-1,0) do (
- set tem1=!n%%i!
- set n%%i=!tem!
- set tem=!tem1!))
- set ll=0
- for %%i in (%lins%) do (
- set "l!ll!=!m%%i:~0,3!!n%%i:~0,3!!m%%i:~3,3!!n%%i:~3,3!!m%%i:~6,3!!n%%i:~6,3!!m%%i:~9,3!!n%%i:~9,3!!m%%i:~12,3!!n%%i:~12,3!!m%%i:~15,3!!n%%i:~15,3!!m%%i:~18,3!!n%%i:~18,3!!m%%i:~21,3!!n%%i:~21,3!!m%%i:~24,3!!n%%i:~24,3!!m%%i:~27,3!!n%%i:~27,3!!m%%i:~30,3!!n%%i:~30,3!!m%%i:~33,3!!n%%i:~33,3!!m%%i:~36,3!!n%%i:~36,3! "
- set/a ll+=1
- )
- for %%i in (0 4 8 12 16 20) do (if %m%==%%i set/a k=^(k+25^)%%26)
- set in=!in0:~%k%!!in0:~0,%k%!
- set im=!im0:~-%k%!!im0:~0,-%k%!
- set l10=!l10:~0,25!!in:~0,15!!l10:~55!
- set l12=!l12:~0,25!!im:~0,15!!l12:~55!
- set len=!l0!!l1!!l2!!l3!!l4!!l5!!l6!!l7!!l8!!l9!!l10!!l11!!l12!!l13!!l14!!l15!!l16!!l17!!l18!!l19!!l20!!l21!!l22!!l23!
- cls
- echo !len:~0,1888!
- for /l %%i in (1,1,300) do echo.>nul
- goto loop
- ::::::::::::::::::::::::::::::::::::
- ::外部控制子过程
- :sub
- pause>nul
- TASKKILL /FI "WINDOWTITLE ne 数码雨">nul
复制代码
[ 本帖最后由 netbenton 于 2009-4-18 01:23 编辑 ]
作者: sexfio 时间: 2009-4-17 23:10
楼上的8错,不过就是速度有点慢,能不能加快点啊
作者: netbenton 时间: 2009-4-17 23:23
for /l %%i in (1,1,1000) do echo.>nul
这句用来延时的,你把1000调小一点就可以了
我的机子速度太快了才用的。
==================
把最后的
pause>nul 改成 ping 127.1 -n 120 >nul
就可以运行2分钟后才退出了
[ 本帖最后由 netbenton 于 2009-4-17 23:28 编辑 ]
作者: netbenton 时间: 2009-4-18 13:10 标题: 26楼退出时有点问题,再改一改
数码雨双向移动+字符串滚动+字符转动+标题字符串滚动+动态测帧+闪烁
-
- @echo off&color 0a
- if defined lins goto :sub
- set "lins= 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
- setlocal enabledelayedexpansion
- start /b %~n0.bat
- set str=fedcbag h i j k l m n o p q r s t u v w x y z9876543210ABCDEFG H I J K L M N O P Q R S T U V W X Y Z
- for %%i in (%lins%) do (
- for /l %%j in (1,1,8) do (
- set "m%%i=!m%%i! "
- set "n%%i=!n%%i! "
- )
- )
- set n=1
- set m=0
- set k=0
- set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
- set mmz=%time:~6,2%
- set "chan=/-\|"
- ::预处理结束
-
- :::::::::::::::循环体:::::::::::::::
- :loop
- ::增加的标题效果
- set/a zza+=1
- if not "%time:~6,2%"=="%mmz%" (
- set/a zzm+=1,zz=zza/zzm&set mmz=%time:~6,2%
- set "tit= Made by Benton !zz!帧/秒,按任意键退出 "
- )
- title @_@ [ !tit:~-%k%!!tit:~0,-%k%! ]
- ::增加的标题效果
- set var= %%str:~!random:~0,2!,1%%
- for /l %%i in (1,1,2) do (
- call set "var=!var! %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%%"
- )
- set/a n=^(n+23^)%%24,m=^(m+23^)%%24
- set m%m%=!var!
- set n%n%=!var!
- set lins=!lins:~-3!!lins:~0,-3!
-
- for /l %%i in (0,1,23) do (set/a ll=%%i-2&set n!ll!=!n%%i!)
- set n23=!n-1!
- set n22=!n-2!
- cls&color 0f&echo !len:~0,1888!
- set ll=0
- for %%i in (%lins%) do (
- set "l!ll!=!m%%i:~0,3!!n%%i:~0,3!!m%%i:~3,3!!n%%i:~3,3!!m%%i:~6,3!!n%%i:~6,3!!m%%i:~9,3!!n%%i:~9,3!!m%%i:~12,3!!n%%i:~12,3!!m%%i:~15,3!!n%%i:~15,3!!m%%i:~18,3!!n%%i:~18,3!!m%%i:~21,3!!n%%i:~21,3!!m%%i:~24,3!!n%%i:~24,3!!m%%i:~27,3!!n%%i:~27,3!!m%%i:~30,3!!n%%i:~30,3!!m%%i:~33,3!!n%%i:~33,3!!m%%i:~36,3!!n%%i:~36,3! "
- set/a ll+=1)
- ::增加的中间效果
- if "%chn%"=="3" set/a k=^(k+25^)%%26
- set/a chn=^(chn+1^)%%4
- set "in0=—《!chan:~%chn%,1!》欢迎来到黑客帝国《!chan:~-%chn%,1!》—"
- set im=!im0:~-%k%!!im0:~0,-%k%!
- set l10=!l10:~0,25!!in0:~%k%!!in0:~0,%k%!!l10:~55!
- set l12=!l12:~0,25!!im:~0,15!!l12:~55!
- ::增加的中间效果
- cls&color 0a&echo !len:~0,1888!
- ::如果速度过快的话,在这里增加延时for /l %%i in (1,1,150) do cd..>nul
- set len=!l0!!l1!!l2!!l3!!l4!!l5!!l6!!l7!!l8!!l9!!l10!!l11!!l12!!l13!!l14!!l15!!l16!!l17!!l18!!l19!!l20!!l21!!l22!!l23!
- goto loop
- ::::::::::::::::::::::::::::::::::::
- ::外部控制子过程
- :sub
- pause>nul
- TASKKILL /FI "IMAGENAME EQ cmd.exe" /FI "WINDOWTITLE EQ @_@ *">nul
复制代码
[ 本帖最后由 netbenton 于 2009-5-6 22:39 编辑 ]
作者: 523066680 时间: 2009-4-18 16:19
netbenton 一路领先,来到了这里。
我支持你,本来只是看看贴的,看到你写的这么好,特地登录加分!
for /l %%i in (1,1,200) do echo.>nul
由于身处网吧 无时间详细窥探思路
不过我找找茬
认为 上面一句 for + echo的延迟 可以改成 ping -n 1 127.1>nul
[ 本帖最后由 523066680 于 2009-4-18 16:23 编辑 ]
作者: batman 时间: 2009-5-7 11:08
这个任意键退出太强了,没说的,加分!
作者: NeverOK 时间: 2009-5-7 22:31
你的帖子我审阅通过....................^_^
作者: jackerloo2009 时间: 2009-5-13 09:26
呵呵,高手pk真的能激发好好学下去的兴趣呢!支持了。。。。。。
作者: yfenguu 时间: 2009-5-26 13:54
我去试试不错啊!!!
作者: Enter 时间: 2009-5-26 15:10
很不错啊,要向楼主多学学啊,呵呵
作者: tslnyys 时间: 2009-6-3 14:03
你们怎么都这么厉害啊。
作者: jinyaxin 时间: 2009-6-15 18:41
我想问一下 这个能做出全屏的吗 哪像效果会更好
作者: netbenton 时间: 2009-6-15 19:02
你按Alt+Enter键,它就全屏了
要程序自动全屏也可以,不过,效果似乎并不是很好。
作者: Taurus 时间: 2009-7-29 03:50
原帖由 netbenton 于 2009-4-18 13:10 发表
数码雨双向移动+字符串滚动+字符转动+标题字符串滚动+动态测帧+闪烁
@echo off&color 0a
if defined lins goto :sub
set "lins= 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
...
为何完成后var !zza!没返回0?
数字好像只向上爬升不会降下
不是该这样吗?
set sec=%time:~6,2%
::=============loop位置下==============
if not "%time:~6,2%"=="%sec%" (
set sec=%time:~6,2%&title !looptime! loop/1sec"
set/a looptime=0
)
作者: 523066680 时间: 2009-7-29 10:51
netbenton的效果更有特色 上下交互穿梭
中间还有字幕
(除非他改了原来的版本,当时我看的时候是这样的效果)
我认同这样的效果,他是在能模仿了以后再增加自己的创意的。
作者: more 时间: 2009-8-3 10:30
特效就不弄了,弄了个雨点左右摆动,雨点下落速度有快有慢的,加上一个男中音:- @echo off
- if not "%1"=="" goto :%1
- start /b %~fs0 sound
- title 按任意键退出...
- set "code=ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFHGIJKLMNOPQ"
- set /a end=19,left=10,right=0,straight=0,delay=550,times=10
- for /l %%a in (2 1 25) do (set line%%a= )
- setlocal enabledelayedexpansion
- :bgn
- for /l %%a in (1 1 !end!) do (
- set /a "pick=!random!%%!end!"
- call set "line1=!line1!%%code:~!pick!,1%% "
- )
- rem 控制字符左右摆动
- if !left! gtr 0 (
- set /a left-=1
- if not !right! gtr 0 (set /a right=!random!%%7+10)
- for /l %%a in (25 -1 2) do (
- set /a "tmp_=%%a-1"
- call set "line%%a=%%line!tmp_!:~1%%%%line!tmp_!:~,1%%"
- )
- ) else (
- if !right! gtr 0 (
- set /a right-=1
- if not !straight! gtr 0 (set /a straight=!random!%%7+7)
- for /l %%a in (25 -1 2) do (
- set /a "tmp_=%%a-1"
- call set "line%%a=%%line!tmp_!:~-1%%%%line!tmp_!:~,-1%%"
- )
- ) else (
- set /a straight-=1
- if !straight! lss 0 (set /a left=!random!%%7+10)
- for /l %%a in (25 -1 2) do (
- set /a "tmp_=%%a-1"
- call set "line%%a=%%line!tmp_!%%"
- )
- )
- )
- set "line1="
- cls
- for /l %%a in (1 1 25) do (set str=!str!!line%%a!)
- echo.!str!
- set "str="
- rem 控制字符落下速度的快慢(也就是摆动的快慢)
- if !times! gtr 1 (
- set /a times-=1
- for /l %%a in (1 1 !delay!) do (
- echo.>nul
- )
- ) else (
- set /a times=!random!%%10+10,delay=!random!%%400+200
- )
- goto :bgn
- :out
- pause>nul
- taskkill /FI "windowtitle eq 按任意键退出... *" >nul
- :sound
- start /b %~fs0 out
- Setlocal Enabledelayedexpansion
- set "n=0"
- for %%a in ("wow wow wow, it is raining" "god, it is raining again" "so bad, the weather" "I love all of you, baby" "we are all batch fan" "get busy living, or get busy dying") do (
- set /a n+=1
- set "voice!n!=%%a"
- )
- :agn
- set /a t=!random!%%!n!+1
- mshta vbscript:CreateObject("SAPI.SpVoice").Speak(!voice%t%!)(Window.close)
- ping -n 6 127.1>nul
- goto :agn
复制代码
[ 本帖最后由 more 于 2009-8-3 10:50 编辑 ]
作者: xznwfgq 时间: 2009-8-19 03:03
加上你那个就坏了原来的那种效果了
作者: netbenton 时间: 2009-8-19 06:58
增加一对括号,竟然可以从28帧/秒,增加到34帧/秒
-
- @echo off&color 0a
- if defined lins goto :sub
- set "lins= 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
- setlocal enabledelayedexpansion
- start /b %~n0.bat
- set str=fedcbag h i j k l m n o p q r s t u v w x y z9876543210ABCDEFG H I J K L M N O P Q R S T U V W X Y Z
- for %%i in (%lins%) do (
- for /l %%j in (1,1,8) do (
- set "m%%i=!m%%i! "
- set "n%%i=!n%%i! "
- )
- )
- set n=1
- set m=0
- set k=0
- set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
- set mmz=%time:~6,2%
- set "chan=/-\|"
- ::预处理结束
- :::::::::::::::循环体:::::::::::::::
- :loop
- ::增加的标题效果
- (set/a zza+=1
- if not "%time:~6,2%"=="%mmz%" (
- set/a zzm+=1,zz=zza/zzm&set mmz=%time:~6,2%
- set "tit= Made by Benton !zz!帧/秒,按任意键退出 "
- )
- title @_@ [ !tit:~-%k%!!tit:~0,-%k%! ]
- ::增加的标题效果
- set var= %%str:~!random:~0,2!,1%%
- for /l %%i in (1,1,2) do (
- call set "var=!var! %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%% %%str:~!random:~0,2!,1%%"
- )
- set/a n=^(n+23^)%%24,m=^(m+23^)%%24
- set m%m%=!var!
- set n%n%=!var!
- set lins=!lins:~-3!!lins:~0,-3!
- for /l %%i in (0,1,23) do (set/a ll=%%i-2&set n!ll!=!n%%i!)
- set n23=!n-1!
- set n22=!n-2!
- cls&color 0f&echo !len:~0,1888!
- set ll=0
- for %%i in (%lins%) do (
- set "l!ll!=!m%%i:~0,3!!n%%i:~0,3!!m%%i:~3,3!!n%%i:~3,3!!m%%i:~6,3!!n%%i:~6,3!!m%%i:~9,3!!n%%i:~9,3!!m%%i:~12,3!!n%%i:~12,3!!m%%i:~15,3!!n%%i:~15,3!!m%%i:~18,3!!n%%i:~18,3!!m%%i:~21,3!!n%%i:~21,3!!m%%i:~24,3!!n%%i:~24,3!!m%%i:~27,3!!n%%i:~27,3!!m%%i:~30,3!!n%%i:~30,3!!m%%i:~33,3!!n%%i:~33,3!!m%%i:~36,3!!n%%i:~36,3! "
- set/a ll+=1)
- ::增加的中间效果
- if "%chn%"=="3" set/a k=^(k+25^)%%26
- set/a chn=^(chn+1^)%%4
- set "in0=—《!chan:~%chn%,1!》欢迎来到黑客帝国《!chan:~-%chn%,1!》—"
- set im=!im0:~-%k%!!im0:~0,-%k%!
- set l10=!l10:~0,25!!in0:~%k%!!in0:~0,%k%!!l10:~55!
- set l12=!l12:~0,25!!im:~0,15!!l12:~55!
- ::增加的中间效果
- cls&color 0a&echo !len:~0,1888!
- ::如果速度过快的话,在这里增加延时for /l %%i in (1,1,150) do cd..>nul
- set len=!l0!!l1!!l2!!l3!!l4!!l5!!l6!!l7!!l8!!l9!!l10!!l11!!l12!!l13!!l14!!l15!!l16!!l17!!l18!!l19!!l20!!l21!!l22!!l23!
- goto loop)
- ::::::::::::::::::::::::::::::::::::
- ::外部控制子过程
- :sub
- pause>nul
- TASKKILL /FI "IMAGENAME EQ cmd.exe" /FI "WINDOWTITLE EQ @_@ *">nul
复制代码
作者: 523066680 时间: 2009-8-19 18:13
Re: netbenton
效果很好,可惜,我的帖子下似乎有“风水”问题,基本上在这里发表作品很快就沉下去了。
当然还有一个原因是,本来是高亮的 现在取消后反成灰色,颜色比普通帖子要低沉
所以看到都像是禁忌帖~
他们不顶 我顶 我还是if_exist! 以后别处见了。
---------------------------------------------------------------------
我在这里回复batcher哈 ,原来是这样,谢谢说明。
[ 本帖最后由 523066680 于 2009-8-19 22:35 编辑 ]
作者: Batcher 时间: 2009-8-19 22:32 标题: 回复 44楼 的帖子
这是论坛新增的插件,所有的帖子,在你点击过一次之后,颜色会改变,以便区分哪些帖子看过了,哪些没看过。等你下次再来论坛的时候,它又恢复正常了。
作者: shenlong 时间: 2009-9-16 21:22
支持,太牛了。。。。。。。。。。。。。。。。。。
作者: 523066680 时间: 2009-9-17 17:15
1楼是历史事件。还是后来者居上,各位继续。
作者: tuoout 时间: 2009-9-18 09:49
顶....!漂亮哦。
作者: yuayua23 时间: 2009-9-19 23:31
学习了,支持原创
作者: joker 时间: 2009-10-1 00:46
支持原创
作者加油
作者: bxbian951122 时间: 2009-11-1 15:33
不错不错,,学习一下
作者: 523066680 时间: 2009-11-1 16:33
经过后来netbenton升级,这个帖子有访量上万的可能……
作者: naiveboy520 时间: 2009-11-1 18:47
好厉害 思维敏捷
作者: Taurus 时间: 2009-11-1 19:33
[attach]1996[/attach]
[ 本帖最后由 Taurus 于 2009-11-11 04:15 编辑 ]
作者: 523066680 时间: 2009-11-11 09:11
虽然很可能很漂亮,不过不敢开……
作者: netbenton 时间: 2009-11-11 12:38
在10日没修改前我开过了,界面并没有很特别,就是增加了下载mp3文件,作为背景播放
作者: Taurus 时间: 2009-11-12 05:51
嗯,主要只是增加背景音较,随机打雷,及监控batch关闭则停止音较
界面没特别的different
只是google code空间cut了我上传的音较文件所以才修改文件
纯下雨loop test代码在这里,1sec约达130lp左右,速度需快但可读性却不甚简洁
@echo off&setlocal EnableDelayedExpansion&color 0a&mode con: cols=80 lines=26
set a=1234567890 abcd e g hijk l nopqrst uvw x zAB C E F IJ KL MNOP RS T UV X YZ
set sec=%time:~6,2%
:loop
set /a num1=!random!%%80,num2=!random!%%80,num3=!random!%%80,num4=!random!%%80,num5=!random!%%80,num6=!random!%%80,num7=!random!%%80,num8=!random!%%80,num9=!random!%%80,num10=!random!%%80,num11=!random!%%80,num12=!random!%%80,num13=!random!%%80,num14=!random!%%80,num15=!random!%%80,num16=!random!%%80,num17=!random!%%80,num18=!random!%%80,num19=!random!%%80,num20=!random!%%80,num21=!random!%%80,num22=!random!%%80,num23=!random!%%80,num24=!random!%%80,num25=!random!%%80,num26=!random!%%80,num27=!random!%%80
(
set /a looptime+=1
if not "%time:~6,2%"=="%sec%" (
set sec=%time:~6,2%&title !looptime! loop/1sec"
set/a looptime=0
)
set nub1=!a:~-%num1%,1!&set nub2=!a:~-%num2%,1!&set nub3=!a:~-%num3%,1!&set nub4=!a:~-%num4%,1!&set nub5=!a:~-%num5%,1!&set nub6=!a:~-%num6%,1!&set nub7=!a:~-%num7%,1!&set nub8=!a:~-%num8%,1!&set nub9=!a:~-%num9%,1!&set nub10=!a:~-%num10%,1!&set nub11=!a:~-%num11%,1!&set nub12=!a:~-%num12%,1!&set nub13=!a:~-%num13%,1!&set nub14=!a:~-%num14%,1!&set nub15=!a:~-%num15%,1!&set nub16=!a:~-%num16%,1!&set nub17=!a:~-%num17%,1!&set nub18=!a:~-%num18%,1!&set nub19=!a:~-%num19%,1!&set nub20=!a:~-%num20%,1!&set nub21=!a:~-%num21%,1!&set nub22=!a:~-%num22%,1!&set nub23=!a:~-%num23%,1!&set nub24=!a:~-%num24%,1!&set nub25=!a:~-%num25%,1!&set nub26=!a:~-%num26%,1!&set nub27=!a:~-%num27%,1!
set "c1=%nub1% %nub2% %nub3% %nub4% %nub5% %nub6% %nub7% %nub8% %nub9% %nub10% %nub11% %nub12% %nub13% %nub14% %nub15% %nub16% %nub17% %nub18% %nub19% %nub20% %nub21% %nub22% %nub23% %nub24% %nub25% %nub26% %nub27% "
)>nul
cls&set/p=!c1!!c2!!c3!!c4!!c5!!c6!!c7!!c8!!c9!!c10!!c11!!c12!!c13!!c14!!c15!!c16!!c17!!c18!!c19!!c20!!c21!!c22!!c23!!c24!!c25!<nul
(
set c2=%c1%&set c3=%c2%&set c4=%c3%&set c5=%c4%&set c6=%c5%&set c7=%c6%&set c8=%c7%&set c9=%c8%&set c10=%c9%&set c11=%c10%&set c12=%c11%&set c13=%c12%&set c14=%c13%&set c15=%c14%&set c16=%c15%&set c17=%c16%&set c18=%c17%&set c19=%c18%&set c20=%c19%&set c21=%c20%&set c22=%c21%&set c23=%c22%&set c24=%c23%&set c25=%c24%
goto :loop
)>nul
[ 本帖最后由 Taurus 于 2009-11-12 06:04 编辑 ]
作者: 523066680 时间: 2009-11-12 08:05
That sounds good!
作者: asp 时间: 2009-11-28 10:02
技术组~~~的人 好强呀~~~~~~~~~~~~~~~~~~~~~~~~
作者: wzahj 时间: 2009-12-4 15:56
a 都是牛人 小弟在这支持了
作者: opolokoi 时间: 2009-12-25 16:19
现在的效果已经足够好了,太强大了。
作者: wgoxm521 时间: 2010-2-5 09:06
够劲!前两天研究了batman的那个走字特效,(好象主要是应用cls的清屏)最佩服那个 按任意键退出…
楼主的还够劲!
作者: zhaohongjin_007 时间: 2010-3-27 22:41
NB死了,加油!!!!!!
作者: sl543001 时间: 2010-4-5 20:54
给你点启发:[截图]
作者: sl543001 时间: 2010-4-5 20:58
有点旧的代码了,应该可以改成数码雨 基于SYBC1.1.31- @echo off&SETLOCAL ENABLEDELAYEDEXPANSION&sybc&color f1
- SET SYBCOM=A100`80BE AC00 3C 375 83E9 3C00 ACFF 4275`2CBE AC00 E08A 86AC 50C4 BE1F 0 3CAC`7553 ACFB 593C F675 3CAC 7542 ACF1 433C`EC75 3CAC 7553 ACE7 3D3C E275 14EB 3CAC`743A 3C0F 740D 3C4D 7400 8349 1EE 48EB`54B4 E8AC 93 ADE8 3C00 7F18 8A37 E8F0`87 A1E8 3C00 7F4F 8A2B B0D0 F602 50E2`A0B0 E6F6 35F 57F8 3CAC 7424 E80A 6A`49E8 8A00 EBCA E817 3F CA8A 10EB B0`16CD C48A 4CB4 21CD 815F A0C7 5700 B850`B800 750 2B5A 8AEE ACD1 243C D974 3B3C`8C74 D3C DE74 3C DA74 233C 575 D783`EB01 AA01 C28A EBAA E8E0 1D 3C93 7E39`402 8009 39FB 37E C380 2409 800F FE3`10B2 E2F6 C302 D08A ACC3 203C FB74 D3C`A274 3C 9E74 D88A 3CAC 7420 3CEC 740D`3C93 7400 C38F 2C93 8030 30EB AB4 E4F6`C302 C3`
- SET V=;RCX;120;N SYBC.COM;W;Q
- if not exist sybc.com (ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
- set /a x=12440
- :0
- call :1
- goto 0
- :1
- set /a ran1=%random%*%random%+%random%,ran2=%random%*%random%+%random%,ran3=%random%*%random%+%random%,ran4=%random%*%random%+%random%,ran5=%random%*%random%+%random%,ran6=%random%*%random%+%random%,ran7=%random%*%random%+%random%,ran8=%random%*%random%+%random%,ran9=%random%*%random%+%random%
- set ran=%ran1%%ran2%%ran3%%ran4%%ran5%%ran6%%ran7%%ran8%%ran9%
- FOR /F "delims=~" %%A IN ('CALL sd w 70 %ran% 1 0') DO SET ran=%%A
- for /l %%a in (1,1,9) do set ran=!ran:%%a= !
- set ran=%ran:0=V%
- sybc 10004f1[$7C%ran%$f1]
- (echo m b800:0 fa0 b800:a0&echo q)|debug >nul
- call sd t !t1! !time! t
- sybc 124643e%time%$f1] $f4%errorlevel%
- set t1=%time%
- sybc %x%72.A.
- goto :eof
复制代码
作者: sl543001 时间: 2010-4-5 21:01
需要SD.bat脚本库支持:
-
- @ECHO Off&SETLOCAL ENABLEDELAYEDEXPANSION
- SET SYBNV=0.0.1
- IF "%1" == "" GOTO SYBN
- SET SYBCOM=A100;E8A 80 CD89 C581 81 F980 7F06 CD09 8016 1F9 687F 64EB 83BE E800 65 5AE3 73E8;3C00 7F18 8853 E8C6 57 4CE3 65E8 3C00 7F4F 8845 B0C2 F602 50E2 A0B0 E6F6 15F;E8C7 3D 32E3 C387 393C 27E 904 FB80 7E39 8003 9C3 F24 E380 C00F 4E0 D808;B850 B800 750 295A 89F5 EBE9 AC46 ACAC ACAC F7E2 4CB4 21CD FAEB E088 4CB4;21CD ACAC 203C 475 F9E2 9EB C388 3CAC 7520 E202 C3F9 C387 302C EB80 B430;F60A E4 C3D8 5953 4E42 DED0 C4B8 3032 3930 3231 3631 AC24 243C A74 88AA AAD0;F5E2 B4EB B2EB E349 49AF ACE3 B6E8 E3FF 87A7 3CC3 7E39 402 8009 39FB 37E;C380 2409 800F FE3 10B2 E2F6 D800 C288 C7E2 86EB
- SET SYBM=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
- :SYDLL
- CALL :SYB%* 2>NUL
- EXIT /B %ERRORLEVEL%
- :SYBA
- (CHCP 437 &GRAFTABL 936)>NUL
- ECHO {SYBN DLL %SYBNV% } 初始化,按任意键继续...
- SET W=00
- (echo a100&echo db B8 00 00 cd 16 cd 20&echo.&echo.rcx&echo.7&echo.g&echo.q)|DEBUG>NUL
- GOTO :EOF
- :SYBB
- set deb= 20 f0^&echo.f B800:
- (echo.fb800:0 9f 20 f0&echo.fb800:9e a1%deb%13e 141%deb%1de 1e1%deb%27e 271%deb%31e 321%deb%3be 3e1%deb%45e 461%deb%4fe 501%deb%59e 5a1%deb%63e 641%deb%6de 6e1%deb%77e 781%deb%81e 821%deb%8be 8c1%deb%95e 961%deb%9fe a01%deb%a9e aa1%deb%b3e b41%deb%bde be1%deb%c7e c81%deb%d1e d21%deb%bde be1%deb%e5e r61%deb%efe f01%deb%f9e fae20 f0 20 f0&echo q)|debug
- GOTO :EOF
- :SYBC
- IF "%1" == "" SET SYBCC=&GOTO SYBCC
- set SYBCC=%*
- IF %1 LSS 25 (IF %1 GTR -1 SET /A SYBCC=10000+%1*100+%2*2&&SET SYBCC=!SYBCC!%3%4%5%6) else (IF %1 GTR 10000 IF %1 LSS SYBCC SET SYBCC=%*)
- :SYBCC
- if "%SYBCC%" == "" set SYBCC=%*
- IF "%SYBCMS%" == "1" (if not exist sybc.com call :sybcj)&&SYBC %SYBCC%&&GOTO :EOF
- if not "%sybcs%" == "" set w=%sybcs%&&goto :sybcg
- CALL :SYBL %SYBCC%
- set /a err=%ERRORLEVEL%+1
- if %ERR% lss 3 set err=0
- FOR /F "delims=~" %%A IN ('CALL SD M %err% 10 16') DO SET W=%%A
- FOR /F "delims=~" %%A IN ('CALL SD W 2 00%W% 2') DO SET W=%%A
- :set SYBCC=%SYBCC:_= %
- :echo ;DB %W% 0D "%SYBCC%" >>sd.txt
- :sybcg
- SET V=;A80;DB %W% 0D "%SYBCC%" 0D;;RCX;F0;G;Q
- (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
- EXIT /B %ERRORLEVEL%
- :sybcz
- SET V=;AB800:%1;%2 %3 0D %4 0D;;RCX;F0;G;Q
- (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
- EXIT /B %ERRORLEVEL%
- :SYBCJ
- SET V=;RCX;F0;N SYBC.COM;W;Q
- (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
- GOTO :EOF
- :SYBD
- set sybd1=%1
- set sybd2=%2
- set sybd3=%3
- if "%1" == "" (set sybd1=0)
- if "%2" == "" (set sybd2=fa0)
- if "%3" == "" (set sybd3=a0)
- (echo m b800:%sybd1% %sybd2% b800:%sybd3%&echo q)|debug >nul
- GOTO :EOF
- :SYBE
- (echo m b800:0 fa0 b800:a0&echo q)|debug >nul
- GOTO :EOF
- :SYBF
- SET SYBK=SYBK1=┌─┐│└┘┼;SYBK2=┏━┓┃┗┛╋;SYBK3=╔═╗║╚╝╬
- SET %SYBK:;=&SET %
- set b=
- set BKBK=
- set /a BKQ=%1,SYBK=%2,BKH=%3,BKX=%1
- if %2 lss 2 (
- for /l %%B in (1,1,%3) do set b=!b!!SYBK%5:~1,1!
- sybc %BKQ%%4!b!
- goto :eof)
- if %3 lss 2 (set /a BKX-=100&&for /l %%B in (1,1,%2) do (
- set /a BKX+=100&&sybc !BKX!%4!SYBK%5:~3,1!)
- goto :eof)
- for /l %%B in (3,1,%SYBK%) do set b=!b!!SYBK%5:~1,1!&&set BKBK=!BKBK!
- sybc %BKQ%%4!SYBK%5:~0,1!%b%!SYBK%5:~2,1!
- for /l %%B in (3,1,%BKH%) do set /a BKX=BKX+100&&sybc !BKX!%4!SYBK%5:~3,1!%BKBK%!SYBK%5:~3,1!
- set /a BKX=BKX+100
- sybc %BKX%%4!SYBK%5:~4,1!%b%!SYBK%5:~5,1!
- goto :eof
- :SYBG
- :SYBH
- :SYBI
- GOTO :EOF
- :SYBK
- SET A=IN72=1;80=2;75=3;77=4;57=5;28=6;59=7;2=31
- SET %A:;=&SET IN%
- CALL :SYBC %1
- EXIT /B 1!IN%ERRORLEVEL%!
- :SYBL
- IF "%*" == "" EXIT /B 0
- SET L=%*
- SET L=%L:"=.%
- if "%L:~64,1%" == "" (set m=) else (m=%L:~64,62%)
- set a=0
- SET e= == 0D set /a a=
- SET F=^&^&GOTO :SYBL2
- FOR /F "SKIP=4 TOKENS=2-16" %%A IN ('^(ECHO.A100^&ECHO.DB "%L%" 0D^&ECHO.DB "%M%" 0D^&ECHO.^&ECHO.D100^&ECHO.D^&ECHO.Q^)^|DEBUG') DO if not "%%O" == "" set h=%%H&&SET c=!H:~0,2!&&SET D=!H:~-2!&&(if %%A%E%!a!+0%F%)&&(if %%B%E%!a!+1%F%)&&(if %%C%E%!a!+2%F%)&&(if %%D%E%!a!+3%F%)&&(if %%E%E%!a!+4%F%)&&(if %%F%E%!a!+5%F%)&&(if %%G%E%!a!+6%F%)&&(if !C!%E%!a!+7%F%)&&(if !D!%E%!a!+8%F%)&&(if %%I%E%!a!+9%F%)&&(if %%J%E%!a!+10%F%)&&(if %%K%E%!a!+11%F%)&&(if %%L%E%!a!+12%F%)&&(if %%M%E%!a!+13%F%)&&(if %%N%E%!a!+14%F%)&&(if %%O%E%!a!+15%F%)&&set /a a=!a!+16
- EXIT /B 72
- :SYBL2
- EXIT /B %A%
- :SYBLE
- IF "%*" == "" EXIT /B 0
- SET L=%*
- SET /A M=128,N=0,K=32
- :SYBLO
- SET /A O=K
- IF "!L:~%K%,1!" == "" (SET /A M=K,K=K/2+N/2) ELSE (SET /A N=K,K=M/2+K/2)
- IF %O% == %K% SET /A L=K+1&&EXIT /B !L!
- GOTO SYBLO
- :SYBM
- IF "%1" == "" EXIT /B 0
- IF %1 == 0 EXIT /B 0
- SET S=%1$&SET T=%2&SET U=%3
- IF "%2" == "" SET T=10
- IF "%3" == "" SET U=16
- FOR /L %%A IN (0,1,35) DO SET SYBM%%A=!SYBM:~%%A,1!&&SET SYBM!SYBM:~%%A,1!=%%A
- SET Z=0
- IF %T% GTR 36 IF %T% GTR A (SET /A T=!SYBM%T%!+1) ELSE (SET T=36)
- IF %T% LSS 2 SET T=10
- :SYBM1
- SET R=%S:~0,1%
- SET S=%S:~1,999%
- SET L=!SYBM%R%!
- SET /A Z=Z*T+L
- IF NOT "%S:~0,1%" == "$" GOTO SYBM1
- SET S=
- IF "%U%" GTR "A" SET /A U=!SYBM%U%!+1
- :SYBM2
- SET /A R=Z,Y=Z%%U,Z=(Z-Y)/U
- IF NOT %Z% == %R% SET S=!SYBM%Y%!!S!&GOTO SYBM2
- IF not "%u%" == "10" ECHO.%S%
- EXIT /B %S%
- :SYBN
- ECHO OFF&COLOR 3E
- ECHO {SYBN DLL 脚本公共库 V %SYBNV%} [开发中...]
- ECHO.
- ECHO 请使用 "CALL SD 命令 参数" 的形式调用,命令列表如下:
- ECHO.
- ECHO A 为SYBC及依赖SYBC的模块初始化显示模式
- ECHO C 调用SYBC
- ECHO CJ创建SYBC.COM
- ECHO F 调用SYBC.COM画方框 [起始位置][宽][高][颜色][样式]
- ECHO K 调用SYBC获取按键 [A 返回字符内码;空 返回键盘码]{返回ERRORLEVEL}
- ECHO L 求中文字符长度 [被计算字符(短于71B的中英文)]{返回ERRORLEVEL}
- ECHO LE求英文字符长度 [被计算字符(非中文,不限长度)]{返回ERRORLEVEL}
- ECHO M 进制转换[被转换值][被转换的进制][返回值的进制]{返回ERRORLEVEL或ECHO}
- ECHO N 帮助信息
- ECHO T 求两个时间差 [起始时间][终止时间][反回时间单位(H/M/S/T)]{返回ERRORLEVEL}
- ECHO TC求命令运行时间 [命令]{返回ERRORLEVEL并echo}
- ECHO W 调整字符长度 [长度][被调整字符][对齐方式(1=左;2=右)][补位符]{结果ECHO}
- ECHO.
- CALL SD T 5:00:00.00 %TIME% S
- ECHO 示例1:"CALL SD T 5:00:00.00 %%TIME%% S"求5点过去多少分钟了,返回ERRORLEVEL=%ERRORLEVEL%
- CALL SD LE %ERRORLEVEL%
- ECHO 示例2:"CALL SD LE %%ERRORLEVEL%%" 求分钟数的字符长度, 返回ERRORLEVEL=%ERRORLEVEL%
- CALL SD M %ERRORLEVEL% 10 2 >nul
- ECHO 示例3:"CALL SD M %%ERRORLEVEL%% 10 2" 求字符长度的2进制值,返回ERRORLEVEL=%ERRORLEVEL%
- PAUSE
- GOTO :EOF
- :SYBO
- SET SYBK=SYBK1=┌─┐│└┘┼;SYBK2=┏━┓┃┗┛╋;SYBK3=╔═╗║╚╝╬
- SET %SYBK:;=&SET %
- SET B=
- SET SYBKK=
- SET /A BKQ=%1,BKL=%2,BKH=%3,BKX=%1,BKK=%2*2-4,Y=%5
- IF "%Y%" == "" SET Y=2
- IF %2 LSS 2 (
- FOR /L %%B IN (1,1,%3) DO SET B=!B!!SYBK%Y%:~1,1!
- call :sybc %BKQ%%4!B!
- GOTO :EOF)
- IF %3 LSS 2 (SET /A BKX-=100&&FOR /L %%B IN (1,1,%2) DO (
- SET /A BKX+=100&&call :SYBC !BKX!%4!SYBK%Y%:~3,1!)
- GOTO :EOF)
- FOR /L %%B IN (3,1,%BKL%) DO SET B=!B!!SYBK%Y%:~1,1!&&SET SYBKK=!SYBKK!
- call :SYBC %BKQ%%4!SYBK%Y%:~0,1!%B%!SYBK%Y%:~2,1!
- if "%6" == "" (set SYBKZ3=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%6" 1') DO SET SYBKZ3=%%A
- if "%7" == "" (set SYBKZ4=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%7" 1') DO SET SYBKZ4=%%A
- if "%8" == "" (set SYBKZ5=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%8" 1') DO SET SYBKZ5=%%A
- if "%9" == "" (set SYBKZ6=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%9" 1') DO SET SYBKZ6=%%A
- FOR /L %%B IN (7,1,%BKH%) DO SET SYBKZ%%B=!SYBKK!
- FOR /L %%B IN (3,1,%BKH%) DO SET /A BKX=BKX+100&&call :SYBC !BKX!%4!SYBK%Y%:~3,1!!SYBKZ%%B!!SYBK%Y%:~3,1!&&PAUSE>NUL
- SET /A BKX=BKX+100
- call :SYBC %BKX%%4!SYBK%Y%:~4,1!%B%!SYBK%Y%:~5,1!
- GOTO :EOF
- :SYBP
- set a=0
- SET e= == 0D set /a a=
- SET F=^&^&GOTO :SYBQ
- FOR /F "SKIP=4 TOKENS=2-16" %%A IN ('^(ECHO.A100^&ECHO.DB "%1" 0D^&ECHO.^&ECHO.D100^&ECHO.D^&ECHO.Q^)^|DEBUG') DO if not "%%O" == "" set h=%%H&&SET c=!H:~0,2!&&SET D=!H:~-2!&&(if %%A%E%!a!+0%F%)&&(if %%B%E%!a!+1%F%)&&(if %%C%E%!a!+2%F%)&&(if %%D%E%!a!+3%F%)&&(if %%E%E%!a!+4%F%)&&(if %%F%E%!a!+5%F%)&&(if %%G%E%!a!+6%F%)&&(if !C!%E%!a!+7%F%)&&(if !D!%E%!a!+8%F%)&&(if %%I%E%!a!+9%F%)&&(if %%J%E%!a!+10%F%)&&(if %%K%E%!a!+11%F%)&&(if %%L%E%!a!+12%F%)&&(if %%M%E%!a!+13%F%)&&(if %%N%E%!a!+14%F%)&&(if %%O%E%!a!+15%F%)&&set /a a=!a!+16
- goto :eof
- :SYBQ
- EXIT /B %A%
- :SYBR
- :SYBS
- GOTO :EOF
- :SYBT
- IF "%1" == "" EXIT /B 0
- FOR /F "DELIMS=:. TOKENS=1,2,3,4" %%N IN ("%1") DO SET O=1%%O&SET P=1%%P&SET Q=1%%Q&SET /A N=100+%%N
- IF "%2" == "" SET /A T=N*360000+O*6000+P*100+Q-36610100&&EXIT /B !T!
- FOR /F "DELIMS=:. TOKENS=1,2,3,4" %%M IN ("%2") DO SET I=1%%N&SET J=1%%O&SET K=1%%P&SET /A H=100+%%M
- IF "%2" GTR "A" (SET L=%2&SET /A T=N*360000+O*6000+P*100+Q-36610100,S=T/100,M=T/6000,H=T/360000) ELSE (SET L=%3&SET /A H=H-N,I=I-O,J=J-P,K=K-Q,T=H*360000+I*6000+J*100+K,S=T/100,M=T/6000,H=T/360000)
- IF "%L%" == "" SET L=T
- EXIT /B !%L%!
- :SYBTC
- set SYBTC1=%time%
- call %*
- set SYBTC2=%time%
- call :SYBT %SYBTC1% %SYBTC2%
- echo %errorlevel%
- exit /B %errorlevel%
- :SYBU
- :SYBV
- GOTO :EOF
- :SYBW
- IF "%1" == "" SET W=..&GOTO :EOF
- SET W=%2
- SET W=%W:"=%
- if "%SYBW%" == "1" (CALL :SYBLE %w%) else (CALL :SYBL %w%)
- set l=%errorlevel%
- SET /A V=%1-%L%
- SET K=%4
- IF "%2" == "" SET W=
- IF "%4" == "" SET K=
- IF "%4" == "2" SET K=--
- IF %L% == %1 GOTO :EOF
- IF %V% GTR 0 IF "%3" == "1" (FOR /L %%A IN (1,1,%V%) DO SET W=!W!%K%) ELSE (FOR /L %%A IN (1,1,%V%) DO SET W=%K%!W!)
- IF %V% LSS 0 IF "%3" == "1" (SET W=!W:~0,%1!) ELSE (SET W=!W:~-%1!)
- ECHO.%W%
- if "%w:~0,1%" == "C" pause
- GOTO :EOF
- :EXIT /B
- :SYBX
- :SYBY
- :SYBZ
- GOTO :EOF
复制代码
作者: sl543001 时间: 2010-4-5 21:05
不用去管SD.bat里写了啥那是老旧的东西了,只需要知道
'CALL sd w 70 %ran% 1 0' 是10进制转2进制
call sd t !t1! !time! t 是计算时间差,并以秒为单位返回
------------------------------------------------------------------
很老旧的代码,俺从俺N久以前的代码文件夹里翻出来
主要演示滚屏效果
(echo m b800:0 fa0 b800:a0&echo q)|debug >nul 用于反向滚屏,使屏幕上所有内容向下移动一行
SBYC用于显示彩色字符
有问题QQ联系
[ 本帖最后由 sl543001 于 2010-4-5 21:08 编辑 ]
作者: 523066680 时间: 2010-4-9 10:13
有颜色后可以做出绿色深浅不同的数码往下落的更有层次感的雨。
过渡到某种方式,所以很少用批处理做了。
作者: hantmite 时间: 2010-4-16 19:27
好东西啊,膜拜…………
作者: michaelsofit 时间: 2010-4-26 21:37 标题: 学习中
学习中 看看 长见识
作者: rockets 时间: 2011-2-25 10:16
确实有创意啊 楼主辛苦啦
作者: chenqldiy 时间: 2011-5-21 00:46
不错,好玩哈哈
作者: raymai97 时间: 2011-8-15 21:11
这也太强了吧? 只不过1L已经很好了,为何还在4L写呢?还有临时文件呢~
作者: garyng 时间: 2011-8-16 17:21
哇~
好漂亮哦~
作者: wosliming 时间: 2012-10-17 23:47
回复 29# netbenton
代码很强大,我注意到你用 set "chan=/-\|" 来实现一个米字 的旋转,
想问下,这个怎么独立出来,想放到别的bat里面,感觉很炫…………
求教…………
作者: netbenton 时间: 2012-10-18 13:03
回复 79# wosliming
《!chan:~%chn%,1!》这里实现取变量中的一个字符,只要改变 %chn%的值,即可: set /a "chn= (chn + 1) %% 4"
作者: baihaijiao101 时间: 2012-10-18 15:25
回复 1# 523066680
如果大牛有时间的话,可否附上一些原理性的解释,很想学习学习,但是有看不太懂……
作者: 0123456789 时间: 2012-11-11 11:56
全屏了能当屏保,不错。
作者: yunbaomong 时间: 2013-1-9 16:23
回复 29# netbenton
反应一个问题,算不算鸡蛋里挑骨头,嘿嘿。。netbenton大神的在WIN7系统里如果以管理员身份运行,会无法按任意键关闭。netbenton大神有没有时间修复下哦,太高深了,我实在是看不懂。
作者: cjw00529017 时间: 2013-9-12 22:03
真长见识了 我必须膜拜一下 太牛了
作者: COPYFREE 时间: 2013-12-11 15:34
漂亮,效果真棒
作者: 再世情緣 时间: 2013-12-12 07:20
收藏!!有时间了好好研究!!!
作者: laolong 时间: 2013-12-12 08:05
哇喔,强啊
支持一下
作者: fish509008 时间: 2013-12-12 12:43
真牛!。。。。
作者: Tamce 时间: 2014-6-8 23:15
太牛了!!简直不敢相信!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |