Board logo

标题: [游戏娱乐] 潜水数天完成了自己满意的批处理数码雨 [打印本页]

作者: 523066680    时间: 2008-8-9 20:17     标题: 潜水数天完成了自己满意的批处理数码雨

该批处理同时在cn-dos发布。http://www.cn-dos.net/forum/forumdisplay.php?fid=23&page=1
留意该批处理的第二行特效。
  1. @echo off
  2. title made by 523066680 2008-08-08
  3. ::这一版本由www.cn-dos.net & www.bathome.net 成员523066680编辑
  4. mode con cols=85 lines=21
  5. color 0a
  6. setlocal enabledelayedexpansion
  7. set a=0
  8. 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 (
  9. if !a! leq 9 (set n0!a!=%%m) else (set n!b!=%%m)
  10. set /a a+=1
  11. set /a b=!a!-10
  12. )
  13. 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 (
  14. set n!b!=%%M
  15. set /a b+=1
  16. )
  17. for /l %%a in (1,1,20) do (
  18. set h%%a=
  19. for /l %%b in (1,1,20) do (
  20. call,set code=%%n!random:~1,2!%%
  21. if not defined code (set "code= ")
  22. set h%%a=!code!   !h%%a!
  23. )
  24. )
  25. set num=0
  26. :a
  27. set /a num+=1
  28. if %num% equ 260 set num=0
  29. ping -n>nul
  30. cls
  31. echo,   %h1%
  32. echo,   %hn%
  33. for /l %%a in (3,1,20) do echo,   !h%%a!
  34. for /l %%a in (19,-1,1) do (
  35. set /a n=1+%%a
  36. set h!n!=!h%%a!
  37. )
  38. set hn=%h2%
  39. set h1=
  40. for /l %%b in (1,1,20) do (
  41. call,set code=%%n!random:~1,2!%%
  42. if not defined code (set "code= ")
  43. set h1=!code!   !h1!
  44. )
  45. if %num% gtr 80 (if %num% lss 100 set hn=                      %h19:   = %)
  46. if %num% gtr 140 (if %num% lss 160 set hn=                      %h19:   = %)
  47. if %num% gtr 200 (if %num% lss 220 set hn=                      %h19:   = %)
  48. if %num% gtr 100 (if %num% leq 130 (
  49. set hn=%hn:~0,20%    B a t H o m e    I f _ E x i s t    %hn:~-20%
  50. ))
  51. if %num% gtr 160 (if %num% leq 190 (
  52. set hn=%hn:~0,19%      C n - D o s     I f _ E x i s t     %hn:~-19%
  53. ))
  54. if %num% gtr 220 (if %num% leq 240 (
  55. set hn=%hn:~0,19%          W W W . 3 X 4 Y . C O M        %hn:~0,19%
  56. ))
  57. for %%a in (100 160 220) do (
  58. if %num% equ %%a (set hn=                     =====================+================== ))
  59. goto :a
  60. pause
  61. pause
复制代码

作者: cwjvicky    时间: 2008-8-9 20:46

试过了,不错啊!!!
作者: 愚无尽    时间: 2008-8-10 11:47

效果是目前见到比较好的了,加油!再加入些随机数字字符效果才更好,另外数码雨的层次长短也非常必要,不要总是满屏都是嘛
作者: 523066680    时间: 2008-8-14 10:21     标题: 闪烁好难处理 ……我只能做到这样了

  1. @echo off
  2. title made by 523066680 2008-08-08
  3. ::这一版本由www.cn-dos.net & www.bathome.net 成员523066680编辑
  4. mode con cols=110 lines=21
  5. color 0a
  6. setlocal enabledelayedexpansion
  7. set a=0
  8. 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 (
  9. if !a! leq 9 (set n0!a!=%%m) else (set n!b!=%%m)
  10. set /a a+=1
  11. set /a b=!a!-10
  12. )
  13. 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 (
  14. set n!b!=%%M
  15. set /a b+=1
  16. )
  17. for /l %%a in (1,1,20) do (
  18. set h%%a=
  19. for /l %%b in (1,1,20) do (
  20. call,set code=%%n!random:~3,2!%%
  21. if not defined code (set "code= ")
  22. set h%%a=!code!   !h%%a!
  23. )
  24. )
  25. set num=0
  26. :a
  27. set /a num+=1
  28. if %num% equ 260 set num=0
  29. del xXx
  30. ECHO,      %h1%>>XXX
  31. ECHO,      %hn%>>XXX
  32. for /l %%a in (3,1,20) do echo,      !h%%a!>>xXx
  33. for /l %%a in (1,1,100) do echo,>nul
  34. cls
  35. type xXx
  36. for /l %%a in (19,-1,1) do (
  37. set /a n=1+%%a
  38. set h!n!=!h%%a!
  39. )
  40. set hn=%h2%
  41. set h1=
  42. for /l %%b in (1,1,20) do (
  43. call,set code=%%n!random:~3,2!%%
  44. if not defined code (set "code= ")
  45. set h1=!code!    !h1!
  46. )
  47. if %num% gtr 80 (if %num% lss 100 set hn=                         %h19:   = %)
  48. if %num% gtr 140 (if %num% lss 160 set hn=                          %h19:   = %)
  49. if %num% gtr 200 (if %num% lss 220 set hn=                          %h19:   = %)
  50. if %num% gtr 100 (if %num% leq 130 (
  51. set hn=%hn:~0,30%    B a t H o m e    I f _ E x i s t    %hn:~-30%
  52. ))
  53. if %num% gtr 160 (if %num% leq 190 (
  54. set hn=%hn:~0,29%      C n - D o s     I f _ E x i s t     %hn:~-29%
  55. ))
  56. if %num% gtr 220 (if %num% leq 240 (
  57. set hn=%hn:~0,29%          W W W . 3 X 4 Y . C O M        %hn:~0,29%
  58. ))
  59. for %%a in (100 160 220) do (
  60. if %num% equ %%a (set hn=                           =====================+================== ))
  61. 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

  1. @echo off
  2. color 0a
  3. echo 打雷啦,下雨啦,回家收衣服啦!!!
  4. setlocal ENABLEDELAYEDEXPANSION
  5. for /l %%i in (0) do (
  6. set "line="
  7. for /l %%j in (1,1,80) do (
  8. set /a Down%%j-=2
  9. set "x=!Down%%j!"
  10. if !x! LSS 0 (
  11. set /a Arrow%%j=!random!%%3
  12. set /a Down%%j=!random!%%15+10
  13. )
  14. set "x=!Arrow%%j!"
  15. if "!x!" == "2" (
  16. set "line=!line!!random:~-1! "
  17. ) else (set "line=!line! ")
  18. )
  19. set /p=!line!<nul)
复制代码

作者: netbenton    时间: 2009-4-17 22:46

::黑客数码雨双向移动+左右文字滚动,逼真效果

  1. @echo off&color 0a
  2. if defined lins goto :sub
  3. 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"
  4. setlocal enabledelayedexpansion
  5. start /b %~n0.bat
  6. title 数码雨  By Benton 按任意键退出
  7. 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
  8. for %%i in (%lins%) do (
  9. for /l %%j in (1,1,8) do (
  10.   set "m%%i=!m%%i!          "
  11.   set "n%%i=!n%%i!          "
  12. )
  13. )
  14. set n=2
  15. set m=0
  16. set k=0
  17. set "in0=。。。。——《《欢迎来到黑客帝国》》——。。。。。"
  18. set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
  19. ::预处理结束
  20. :::::::::::::::循环体:::::::::::::::
  21. :loop
  22. set var=  %%str:~!random:~0,2!,1%%
  23. for /l %%i in (1,1,2) do (
  24. 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%%"
  25. )
  26. set/a n=^(n+23^)%%24,m=^(m+23^)%%24
  27. set m%m%=!var!
  28. set n%n%=!var!
  29. set lins=!lins:~-3!!lins:~0,-3!
  30. set tem=!n0!
  31. for %%a in (a b) do (
  32. for /l %%i in (23,-1,0) do (
  33. set tem1=!n%%i!
  34. set n%%i=!tem!
  35. set tem=!tem1!))
  36. set ll=0
  37. for %%i in (%lins%) do (
  38. 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!  "
  39. set/a ll+=1
  40. )
  41. for %%i in (0 4 8 12 16 20) do (if %m%==%%i set/a k=^(k+25^)%%26)
  42. set in=!in0:~%k%!!in0:~0,%k%!
  43. set im=!im0:~-%k%!!im0:~0,-%k%!
  44. set l10=!l10:~0,25!!in:~0,15!!l10:~55!
  45. set l12=!l12:~0,25!!im:~0,15!!l12:~55!
  46. 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!
  47. cls
  48. echo !len:~0,1888!
  49. for /l %%i in (1,1,300) do echo.>nul
  50. goto loop
  51. ::::::::::::::::::::::::::::::::::::
  52. ::外部控制子过程
  53. :sub
  54. pause>nul
  55. 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楼退出时有点问题,再改一改

数码雨双向移动+字符串滚动+字符转动+标题字符串滚动+动态测帧+闪烁
  1. @echo off&color 0a
  2. if defined lins goto :sub
  3. 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"
  4. setlocal enabledelayedexpansion
  5. start /b %~n0.bat
  6. 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
  7. for %%i in (%lins%) do (
  8.         for /l %%j in (1,1,8) do (
  9.                 set "m%%i=!m%%i!          "
  10.                 set "n%%i=!n%%i!          "
  11.         )
  12. )
  13. set n=1
  14. set m=0
  15. set k=0
  16. set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
  17. set mmz=%time:~6,2%
  18. set "chan=/-\|"
  19. ::预处理结束
  20. :::::::::::::::循环体:::::::::::::::
  21. :loop
  22. ::增加的标题效果
  23. set/a zza+=1
  24. if not "%time:~6,2%"=="%mmz%" (
  25. set/a zzm+=1,zz=zza/zzm&set mmz=%time:~6,2%
  26. set "tit= Made by Benton !zz!帧/秒,按任意键退出 "
  27. )
  28. title @_@       [ !tit:~-%k%!!tit:~0,-%k%! ]
  29. ::增加的标题效果
  30. set var=  %%str:~!random:~0,2!,1%%
  31. for /l %%i in (1,1,2) do (
  32. 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%%"
  33. )
  34. set/a n=^(n+23^)%%24,m=^(m+23^)%%24
  35. set m%m%=!var!
  36. set n%n%=!var!
  37. set lins=!lins:~-3!!lins:~0,-3!
  38. for /l %%i in (0,1,23) do (set/a ll=%%i-2&set n!ll!=!n%%i!)
  39. set n23=!n-1!
  40. set n22=!n-2!
  41. cls&color 0f&echo !len:~0,1888!
  42. set ll=0
  43. for %%i in (%lins%) do (
  44. 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!  "
  45. set/a ll+=1)
  46. ::增加的中间效果
  47. if "%chn%"=="3" set/a k=^(k+25^)%%26
  48. set/a chn=^(chn+1^)%%4
  49. set "in0=—《!chan:~%chn%,1!》欢迎来到黑客帝国《!chan:~-%chn%,1!》—"
  50.         set im=!im0:~-%k%!!im0:~0,-%k%!
  51.         set l10=!l10:~0,25!!in0:~%k%!!in0:~0,%k%!!l10:~55!
  52.         set l12=!l12:~0,25!!im:~0,15!!l12:~55!
  53. ::增加的中间效果
  54. cls&color 0a&echo !len:~0,1888!
  55. ::如果速度过快的话,在这里增加延时for /l %%i in (1,1,150) do cd..>nul
  56. 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!
  57. goto loop
  58. ::::::::::::::::::::::::::::::::::::
  59. ::外部控制子过程
  60. :sub
  61. pause>nul
  62. 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

特效就不弄了,弄了个雨点左右摆动,雨点下落速度有快有慢的,加上一个男中音:
  1. @echo off
  2. if not "%1"=="" goto :%1
  3. start /b %~fs0 sound
  4. title 按任意键退出...
  5. set "code=ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFHGIJKLMNOPQ"
  6. set /a end=19,left=10,right=0,straight=0,delay=550,times=10
  7. for /l %%a in (2 1 25) do (set line%%a=  )
  8. setlocal enabledelayedexpansion
  9. :bgn
  10. for /l %%a in (1 1 !end!) do (
  11.    set /a "pick=!random!%%!end!"
  12.    call set "line1=!line1!%%code:~!pick!,1%%   "
  13. )
  14. rem 控制字符左右摆动
  15. if !left! gtr 0 (
  16.    set /a left-=1
  17.    if not !right! gtr 0 (set /a right=!random!%%7+10)
  18.    for /l %%a in (25 -1 2) do (
  19.       set /a "tmp_=%%a-1"
  20.       call set "line%%a=%%line!tmp_!:~1%%%%line!tmp_!:~,1%%"
  21.    )
  22. ) else (
  23.    if !right! gtr 0 (
  24.       set /a right-=1
  25.       if not !straight! gtr 0 (set /a straight=!random!%%7+7)
  26.       for /l %%a in (25 -1 2) do (
  27.          set /a "tmp_=%%a-1"
  28.          call set "line%%a=%%line!tmp_!:~-1%%%%line!tmp_!:~,-1%%"
  29.       )
  30.    ) else (
  31.       set /a straight-=1
  32.       if !straight! lss 0 (set /a left=!random!%%7+10)
  33.       for /l %%a in (25 -1 2) do (
  34.          set /a "tmp_=%%a-1"
  35.          call set "line%%a=%%line!tmp_!%%"
  36.       )
  37.    )
  38. )
  39. set "line1="
  40. cls
  41. for /l %%a in (1 1 25) do (set str=!str!!line%%a!)
  42. echo.!str!
  43. set "str="
  44. rem 控制字符落下速度的快慢(也就是摆动的快慢)
  45. if !times! gtr 1 (
  46.    set /a times-=1
  47.    for /l %%a in (1 1 !delay!) do (
  48.       echo.>nul
  49.    )
  50. ) else (
  51.    set /a times=!random!%%10+10,delay=!random!%%400+200
  52. )
  53. goto :bgn
  54. :out
  55. pause>nul
  56. taskkill /FI "windowtitle eq 按任意键退出... *" >nul
  57. :sound
  58. start /b %~fs0 out
  59. Setlocal Enabledelayedexpansion
  60. set "n=0"
  61. 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 (
  62.    set /a n+=1
  63.    set "voice!n!=%%a"
  64. )
  65. :agn
  66. set /a t=!random!%%!n!+1
  67. mshta vbscript:CreateObject("SAPI.SpVoice").Speak(!voice%t%!)(Window.close)
  68. ping -n 6 127.1>nul
  69. goto :agn
复制代码

[ 本帖最后由 more 于 2009-8-3 10:50 编辑 ]
作者: xznwfgq    时间: 2009-8-19 03:03

加上你那个就坏了原来的那种效果了
作者: netbenton    时间: 2009-8-19 06:58

增加一对括号,竟然可以从28帧/秒,增加到34帧/秒
  1. @echo off&color 0a
  2. if defined lins goto :sub
  3. 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"
  4. setlocal enabledelayedexpansion
  5. start /b %~n0.bat
  6. 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
  7. for %%i in (%lins%) do (
  8.         for /l %%j in (1,1,8) do (
  9.                 set "m%%i=!m%%i!          "
  10.                 set "n%%i=!n%%i!          "
  11.         )
  12. )
  13. set n=1
  14. set m=0
  15. set k=0
  16. set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
  17. set mmz=%time:~6,2%
  18. set "chan=/-\|"
  19. ::预处理结束
  20. :::::::::::::::循环体:::::::::::::::
  21. :loop
  22. ::增加的标题效果
  23. (set/a zza+=1
  24. if not "%time:~6,2%"=="%mmz%" (
  25. set/a zzm+=1,zz=zza/zzm&set mmz=%time:~6,2%
  26. set "tit= Made by Benton !zz!帧/秒,按任意键退出 "
  27. )
  28. title @_@       [ !tit:~-%k%!!tit:~0,-%k%! ]
  29. ::增加的标题效果
  30. set var=  %%str:~!random:~0,2!,1%%
  31. for /l %%i in (1,1,2) do (
  32. 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%%"
  33. )
  34. set/a n=^(n+23^)%%24,m=^(m+23^)%%24
  35. set m%m%=!var!
  36. set n%n%=!var!
  37. set lins=!lins:~-3!!lins:~0,-3!
  38. for /l %%i in (0,1,23) do (set/a ll=%%i-2&set n!ll!=!n%%i!)
  39. set n23=!n-1!
  40. set n22=!n-2!
  41. cls&color 0f&echo !len:~0,1888!
  42. set ll=0
  43. for %%i in (%lins%) do (
  44. 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!  "
  45. set/a ll+=1)
  46. ::增加的中间效果
  47. if "%chn%"=="3" set/a k=^(k+25^)%%26
  48. set/a chn=^(chn+1^)%%4
  49. set "in0=—《!chan:~%chn%,1!》欢迎来到黑客帝国《!chan:~-%chn%,1!》—"
  50.         set im=!im0:~-%k%!!im0:~0,-%k%!
  51.         set l10=!l10:~0,25!!in0:~%k%!!in0:~0,%k%!!l10:~55!
  52.         set l12=!l12:~0,25!!im:~0,15!!l12:~55!
  53. ::增加的中间效果
  54. cls&color 0a&echo !len:~0,1888!
  55. ::如果速度过快的话,在这里增加延时for /l %%i in (1,1,150) do cd..>nul
  56. 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!
  57. goto loop)
  58. ::::::::::::::::::::::::::::::::::::
  59. ::外部控制子过程
  60. :sub
  61. pause>nul
  62. 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
  1. @echo off&SETLOCAL ENABLEDELAYEDEXPANSION&sybc&color f1
  2. 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`
  3. SET V=;RCX;120;N SYBC.COM;W;Q
  4. if not exist sybc.com (ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
  5. set /a x=12440
  6. :0
  7. call :1
  8. goto 0
  9. :1
  10. 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%
  11. set ran=%ran1%%ran2%%ran3%%ran4%%ran5%%ran6%%ran7%%ran8%%ran9%
  12. FOR /F "delims=~" %%A IN ('CALL sd w 70 %ran% 1 0') DO SET ran=%%A
  13. for /l %%a in (1,1,9) do set ran=!ran:%%a= !
  14. set ran=%ran:0=V%
  15. sybc 10004f1[$7C%ran%$f1]
  16. (echo m b800:0 fa0 b800:a0&echo q)|debug >nul
  17. call sd t !t1! !time! t
  18. sybc 124643e%time%$f1] $f4%errorlevel%
  19. set t1=%time%
  20. sybc %x%72.A.
  21. goto :eof
复制代码

作者: sl543001    时间: 2010-4-5 21:01

需要SD.bat脚本库支持:
  1. @ECHO Off&SETLOCAL ENABLEDELAYEDEXPANSION
  2. SET SYBNV=0.0.1
  3. IF "%1" == "" GOTO SYBN
  4. 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
  5. SET SYBM=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
  6. :SYDLL
  7. CALL :SYB%* 2>NUL
  8. EXIT /B %ERRORLEVEL%
  9. :SYBA
  10. (CHCP 437 &GRAFTABL 936)>NUL
  11. ECHO {SYBN DLL %SYBNV% } 初始化,按任意键继续...
  12. SET W=00
  13. (echo a100&echo db B8 00 00 cd 16 cd 20&echo.&echo.rcx&echo.7&echo.g&echo.q)|DEBUG>NUL
  14. GOTO :EOF
  15. :SYBB
  16. set deb= 20 f0^&echo.f B800:
  17. (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
  18. GOTO :EOF
  19. :SYBC
  20. IF "%1" == "" SET SYBCC=&GOTO SYBCC
  21. set SYBCC=%*
  22. 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=%*)
  23. :SYBCC
  24. if "%SYBCC%" == "" set SYBCC=%*
  25. IF "%SYBCMS%" == "1" (if not exist sybc.com call :sybcj)&&SYBC %SYBCC%&&GOTO :EOF
  26. if not "%sybcs%" == "" set w=%sybcs%&&goto :sybcg
  27. CALL :SYBL %SYBCC%
  28. set /a err=%ERRORLEVEL%+1
  29. if %ERR% lss 3 set err=0
  30. FOR /F "delims=~" %%A IN ('CALL SD M %err% 10 16') DO SET W=%%A
  31. FOR /F "delims=~" %%A IN ('CALL SD W 2 00%W% 2') DO SET W=%%A
  32. :set SYBCC=%SYBCC:_= %
  33. :echo ;DB %W% 0D "%SYBCC%" >>sd.txt
  34. :sybcg
  35. SET V=;A80;DB %W% 0D "%SYBCC%" 0D;;RCX;F0;G;Q
  36. (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
  37. EXIT /B %ERRORLEVEL%
  38. :sybcz
  39. SET V=;AB800:%1;%2 %3 0D %4 0D;;RCX;F0;G;Q
  40. (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
  41. EXIT /B %ERRORLEVEL%
  42. :SYBCJ
  43. SET V=;RCX;F0;N SYBC.COM;W;Q
  44. (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
  45. GOTO :EOF
  46. :SYBD
  47. set sybd1=%1
  48. set sybd2=%2
  49. set sybd3=%3
  50. if "%1" == "" (set sybd1=0)
  51. if "%2" == "" (set sybd2=fa0)
  52. if "%3" == "" (set sybd3=a0)
  53. (echo m b800:%sybd1% %sybd2% b800:%sybd3%&echo q)|debug >nul
  54. GOTO :EOF
  55. :SYBE
  56. (echo m b800:0 fa0 b800:a0&echo q)|debug >nul
  57. GOTO :EOF
  58. :SYBF
  59. SET SYBK=SYBK1=┌─┐│└┘┼;SYBK2=┏━┓┃┗┛╋;SYBK3=╔═╗║╚╝╬
  60. SET %SYBK:;=&SET %
  61. set b=
  62. set BKBK=
  63. set /a BKQ=%1,SYBK=%2,BKH=%3,BKX=%1
  64. if %2 lss 2 (
  65. for /l %%B in (1,1,%3) do set b=!b!!SYBK%5:~1,1!
  66. sybc %BKQ%%4!b!
  67. goto :eof)
  68. if %3 lss 2 (set /a BKX-=100&&for /l %%B in (1,1,%2) do (
  69. set /a BKX+=100&&sybc !BKX!%4!SYBK%5:~3,1!)
  70. goto :eof)
  71. for /l %%B in (3,1,%SYBK%) do set b=!b!!SYBK%5:~1,1!&&set BKBK=!BKBK! 
  72. sybc %BKQ%%4!SYBK%5:~0,1!%b%!SYBK%5:~2,1!
  73. 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!
  74. set /a BKX=BKX+100
  75. sybc %BKX%%4!SYBK%5:~4,1!%b%!SYBK%5:~5,1!
  76. goto :eof
  77. :SYBG
  78. :SYBH
  79. :SYBI
  80. GOTO :EOF
  81. :SYBK
  82. SET A=IN72=1;80=2;75=3;77=4;57=5;28=6;59=7;2=31
  83. SET %A:;=&SET IN%
  84. CALL :SYBC %1
  85. EXIT /B 1!IN%ERRORLEVEL%!
  86. :SYBL
  87. IF "%*" == "" EXIT /B 0
  88. SET L=%*
  89. SET L=%L:"=.%
  90. if "%L:~64,1%" == "" (set m=) else (m=%L:~64,62%)
  91. set a=0
  92. SET e= == 0D set /a a=
  93. SET F=^&^&GOTO :SYBL2
  94. 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
  95. EXIT /B 72
  96. :SYBL2
  97. EXIT /B %A%
  98. :SYBLE
  99. IF "%*" == "" EXIT /B 0
  100. SET L=%*
  101. SET /A M=128,N=0,K=32
  102. :SYBLO
  103. SET /A O=K
  104. IF "!L:~%K%,1!" == "" (SET /A M=K,K=K/2+N/2) ELSE (SET /A N=K,K=M/2+K/2)
  105. IF %O% == %K% SET /A L=K+1&&EXIT /B !L!
  106. GOTO SYBLO
  107. :SYBM
  108. IF "%1" == "" EXIT /B 0
  109. IF %1 == 0 EXIT /B 0
  110. SET S=%1$&SET T=%2&SET U=%3
  111. IF "%2" == "" SET T=10
  112. IF "%3" == "" SET U=16
  113. FOR /L %%A IN (0,1,35) DO SET SYBM%%A=!SYBM:~%%A,1!&&SET SYBM!SYBM:~%%A,1!=%%A
  114. SET Z=0
  115. IF %T% GTR 36 IF %T% GTR A (SET /A T=!SYBM%T%!+1) ELSE (SET T=36)
  116. IF %T% LSS 2 SET T=10
  117. :SYBM1
  118. SET R=%S:~0,1%
  119. SET S=%S:~1,999%
  120. SET L=!SYBM%R%!
  121. SET /A Z=Z*T+L
  122. IF NOT "%S:~0,1%" == "$" GOTO SYBM1
  123. SET S=
  124. IF "%U%" GTR "A" SET /A U=!SYBM%U%!+1
  125. :SYBM2
  126. SET /A R=Z,Y=Z%%U,Z=(Z-Y)/U
  127. IF NOT %Z% == %R% SET S=!SYBM%Y%!!S!&GOTO SYBM2
  128. IF not "%u%" == "10" ECHO.%S%
  129. EXIT /B %S%
  130. :SYBN
  131. ECHO OFF&COLOR 3E
  132. ECHO {SYBN DLL 脚本公共库 V %SYBNV%} [开发中...]
  133. ECHO.
  134. ECHO 请使用 "CALL SD 命令 参数" 的形式调用,命令列表如下:
  135. ECHO.
  136. ECHO A 为SYBC及依赖SYBC的模块初始化显示模式
  137. ECHO C 调用SYBC
  138. ECHO CJ创建SYBC.COM
  139. ECHO F 调用SYBC.COM画方框 [起始位置][宽][高][颜色][样式]
  140. ECHO K 调用SYBC获取按键 [A 返回字符内码;空 返回键盘码]{返回ERRORLEVEL}
  141. ECHO L 求中文字符长度 [被计算字符(短于71B的中英文)]{返回ERRORLEVEL}
  142. ECHO LE求英文字符长度 [被计算字符(非中文,不限长度)]{返回ERRORLEVEL}
  143. ECHO M 进制转换[被转换值][被转换的进制][返回值的进制]{返回ERRORLEVEL或ECHO}
  144. ECHO N 帮助信息
  145. ECHO T 求两个时间差 [起始时间][终止时间][反回时间单位(H/M/S/T)]{返回ERRORLEVEL}
  146. ECHO TC求命令运行时间 [命令]{返回ERRORLEVEL并echo}
  147. ECHO W 调整字符长度 [长度][被调整字符][对齐方式(1=左;2=右)][补位符]{结果ECHO}
  148. ECHO.
  149. CALL SD T 5:00:00.00 %TIME% S
  150. ECHO 示例1:"CALL SD T 5:00:00.00 %%TIME%% S"求5点过去多少分钟了,返回ERRORLEVEL=%ERRORLEVEL%
  151. CALL SD LE %ERRORLEVEL%
  152. ECHO 示例2:"CALL SD LE %%ERRORLEVEL%%"      求分钟数的字符长度, 返回ERRORLEVEL=%ERRORLEVEL%
  153. CALL SD M %ERRORLEVEL% 10 2 >nul
  154. ECHO 示例3:"CALL SD M %%ERRORLEVEL%% 10 2"  求字符长度的2进制值,返回ERRORLEVEL=%ERRORLEVEL%
  155. PAUSE
  156. GOTO :EOF
  157. :SYBO
  158. SET SYBK=SYBK1=┌─┐│└┘┼;SYBK2=┏━┓┃┗┛╋;SYBK3=╔═╗║╚╝╬
  159. SET %SYBK:;=&SET %
  160. SET B=
  161. SET SYBKK=
  162. SET /A BKQ=%1,BKL=%2,BKH=%3,BKX=%1,BKK=%2*2-4,Y=%5
  163. IF "%Y%" == "" SET Y=2
  164. IF %2 LSS 2 (
  165. FOR /L %%B IN (1,1,%3) DO SET B=!B!!SYBK%Y%:~1,1!
  166. call :sybc %BKQ%%4!B!
  167. GOTO :EOF)
  168. IF %3 LSS 2 (SET /A BKX-=100&&FOR /L %%B IN (1,1,%2) DO (
  169. SET /A BKX+=100&&call :SYBC !BKX!%4!SYBK%Y%:~3,1!)
  170. GOTO :EOF)
  171. FOR /L %%B IN (3,1,%BKL%) DO SET B=!B!!SYBK%Y%:~1,1!&&SET SYBKK=!SYBKK! 
  172. call :SYBC %BKQ%%4!SYBK%Y%:~0,1!%B%!SYBK%Y%:~2,1!
  173. if "%6" == "" (set SYBKZ3=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%6" 1') DO SET SYBKZ3=%%A
  174. if "%7" == "" (set SYBKZ4=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%7" 1') DO SET SYBKZ4=%%A
  175. if "%8" == "" (set SYBKZ5=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%8" 1') DO SET SYBKZ5=%%A
  176. if "%9" == "" (set SYBKZ6=%SYBKK%) else FOR /F "delims=~" %%A IN ('CALL SD W %BKK% "%9" 1') DO SET SYBKZ6=%%A
  177. FOR /L %%B IN (7,1,%BKH%) DO SET SYBKZ%%B=!SYBKK!
  178. 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
  179. SET /A BKX=BKX+100
  180. call :SYBC %BKX%%4!SYBK%Y%:~4,1!%B%!SYBK%Y%:~5,1!
  181. GOTO :EOF
  182. :SYBP
  183. set a=0
  184. SET e= == 0D set /a a=
  185. SET F=^&^&GOTO :SYBQ
  186. 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
  187. goto :eof
  188. :SYBQ
  189. EXIT /B %A%
  190. :SYBR
  191. :SYBS
  192. GOTO :EOF
  193. :SYBT
  194. IF "%1" == "" EXIT /B 0
  195. 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
  196. IF "%2" == "" SET /A T=N*360000+O*6000+P*100+Q-36610100&&EXIT /B !T!
  197. 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
  198. 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)
  199. IF "%L%" == "" SET L=T
  200. EXIT /B !%L%!
  201. :SYBTC
  202. set SYBTC1=%time%
  203. call %*
  204. set SYBTC2=%time%
  205. call :SYBT %SYBTC1% %SYBTC2%
  206. echo %errorlevel%
  207. exit /B %errorlevel%
  208. :SYBU
  209. :SYBV
  210. GOTO :EOF
  211. :SYBW
  212. IF "%1" == "" SET W=..&GOTO :EOF
  213. SET W=%2
  214. SET W=%W:"=%
  215. if "%SYBW%" == "1" (CALL :SYBLE %w%) else (CALL :SYBL %w%)
  216. set l=%errorlevel%
  217. SET /A V=%1-%L%
  218. SET K=%4
  219. IF "%2" == "" SET W=
  220. IF "%4" == "" SET K=
  221. IF "%4" == "2" SET K=--
  222. IF %L% == %1 GOTO :EOF
  223. 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!)
  224. IF %V% LSS 0 IF "%3" == "1" (SET W=!W:~0,%1!) ELSE (SET W=!W:~-%1!)
  225. ECHO.%W%
  226. if "%w:~0,1%" == "C" pause
  227. GOTO :EOF
  228. :EXIT /B
  229. :SYBX
  230. :SYBY
  231. :SYBZ
  232. 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