找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 74484|回复: 38

批处理实现 “霓虹灯” 效果

[复制链接]
发表于 2008-1-2 11:13:05 | 显示全部楼层 |阅读模式
该效果本人也没去尝试过(因为没接触过批处理中 彩色字符 的实现代码),至于代码编写的可行性我也不知道...

至于所谓的 霓虹灯 效果可以这样解释(比较粗陋的霓虹灯效果),举例说明:
假设有这样的一段字符串(黑底红字):批处理之家bbs.bathome.net
然后第一个字符 批 变为白色,其它的仍为:红色;
再接下来:第二个字符 处 为白色,其它的仍为:红色;
依次类推,形成类 霓虹灯 的效果.
发表于 2008-5-11 21:32:47 | 显示全部楼层
参照cn-dos此帖
http://www.cn-dos.net/forum/viewthread.php?tid=39727###
利用临时文件和findstr /a 参数。
若是想显示字母的话,则所有显示字母都必须是合法的文件名。
  1. @echo off&echo.&echo.&color 0c
  2. ::code 随风 @bbs.bathome.net 2008-0511
  3. set /p= <nul>●
  4. for /l %%a in (1 1 30) do (
  5.    call set str=●%%str%%
  6.    call set t=%%t%%
  7. )
  8. set /p=       %str%<nul
  9. set /p=%t%<nul
  10. for %%a in (a b c d e f) do (
  11.    setlocal
  12.    call :loop %%a
  13.    endlocal
  14. )
  15. pause>nul&exit
  16. :loop
  17. set wjm=%str:~0,1%
  18. if "%str:~1%"=="" (set bu= ) else set bu=●
  19. findstr /a:%1 .* ●*
  20. set /p=%bu%<nul
  21. for /l %%a in (1 1 100) do ver>nul
  22. set str=%str:~1%
  23. if defined str goto loop
  24. set /p=%t%<nul
  25. goto :eof
复制代码

[ 本帖最后由 随风 于 2008-5-11 21:34 编辑 ]
发表于 2008-5-11 22:42:45 | 显示全部楼层
再来个,最烂的霓虹灯。
  1. @echo off&echo.&echo.&color 0c
  2. ::code 随风 @bbs.bathome.net 2008-0511
  3. set /p= <nul>●
  4. for /l %%a in (1 1 30) do (
  5.    call set str=●%%str%%
  6.    call set t=%%t%%
  7. )
  8. set /p=       %str%<nul
  9. set /p=%t%<nul
  10. set ys=abcdefa
  11. setlocal EnableDelayedExpansion
  12. for %%a in (a b c d e f) do (
  13.    set /a m+=1&call set b2=%%ys:~!m!,1%%
  14.    call :loop %%a !b2!
  15. )
  16. pause>nul&exit
  17. :loop
  18. set /a n+=1,h+=1
  19. if "%str:~1%"=="" (set bu= ) else set bu=●
  20. findstr /a:%1 .* ●*
  21. set /p=%bu%<nul
  22. if %n% geq 5 call :list %1 %2 %2&set n=2
  23. title %2
  24. set str=%str:~1%
  25. if %h% lss 30 goto loop
  26. set /p=%t%<nul
  27. set /a h=0,n=0
  28. goto :eof
  29. :list
  30. if "%2"=="" goto :eof
  31. set /p=<nul
  32. findstr /a:%2 .* ●*
  33. set /p=%bu%<nul
  34. findstr /a:%1 .* ●*
  35. set /p=%bu%<nul
  36. findstr /a:%1 .* ●*
  37. set /p=%bu%<nul
  38. findstr /a:%1 .* ●*
  39. set /p=%bu%<nul
  40. findstr /a:%1 .* ●*
  41. set /p=%bu%<nul
  42. shift
  43. goto list
复制代码

评分

参与人数 2PB +20 +1 收起 理由
foxJL + 10
youxi01 + 10 + 1 非常精彩

查看全部评分

发表于 2008-5-12 14:36:44 | 显示全部楼层
再来一个
  1. @echo off&echo.&echo.&color 0c
  2. set _1=●&set "_2=●●"
  3. set /p= <nul>●
  4. copy /y ● ●● >nul
  5. set ys=abdef123456789
  6. ::code 随风 @bbs.bathome.net 2008-0511
  7. for /l %%a in (1 1 30) do (
  8.    call set str=●%%str%%
  9.    call set t=%%t%%
  10. )
  11. set /p=       %str%<nul
  12. :loop
  13. set /a n=%random%%%27+3,w=%random%%%2+1,m=n-4+w,h=%random%%%14,h2=(h2+1)%%10
  14. call set y=%%ys:~%h%,1%%
  15. call set w=%%_%w%%%
  16. for /l %%a in (1 1 %n%) do set /p=<nul
  17. findstr /a:%y% . %w%*
  18. for /l %%a in (1 1 %m%) do set /p=●<nul
  19. for /l %%a in (1 1 500) do ver>nul
  20. if %h2% geq 5 (color 0c) else color 0%y%
  21. goto loop
复制代码

评分

参与人数 1PB +10 收起 理由
youxi01 + 10

查看全部评分

 楼主| 发表于 2008-5-12 18:53:42 | 显示全部楼层
还有点小问题,测试便知
发表于 2008-5-12 19:16:54 | 显示全部楼层
哦?
4 楼的吗?我测试没问题啊?
 楼主| 发表于 2008-5-12 21:32:32 | 显示全部楼层
呵呵,没事了,似乎是原来的感觉错误,呵呵,不好意思
发表于 2008-5-21 04:33:47 | 显示全部楼层
不是很清楚
只有慢慢来学习了
发表于 2008-6-15 10:46:13 | 显示全部楼层
开眼界了,原来可以这样弄,如果能想霓虹灯广告那样,那就好看了
发表于 2008-6-21 15:03:31 | 显示全部楼层
我也来一个,以前写的:
  1. @echo off&mode con cols=41 lines=5
  2. title 权当打发无聊的小动画
  3. set a=★&set b=☆&set c=0123456789abcdef
  4. echo.&echo.
  5. :begin
  6. set /a n=%random%%%20+1,m=40-2*n,x=%random%%%16
  7. call,color 1%%c:~%x%,1%%
  8. for /l %%i in (1,1,20) do set /p=%b%<nul&ping /n 127.1>nul
  9. for /l %%i in (1,1,100) do set /p=<nul
  10. for /l %%i in (1,1,%m%) do set /p= <nul&ping /n 127.1>nul
  11. for /l %%i in (1,1,%n%) do set /p=%a%<nul&ping /n 127.1>nul
  12. for /l %%i in (1,1,100) do set /p=<nul
  13. goto begin
复制代码
发表于 2008-6-21 15:08:07 | 显示全部楼层
再来个更小型的:
  1. @echo off&mode con cols=30 lines=5
  2. echo.&echo.
  3. :begin
  4. set str=bbs.bathome.net&set b=123456789abcdef
  5. set /a a=%random%%%14
  6. call,color 1%%b:~%a%,1%%
  7. call,set var=%%str:~%a%,1%%
  8. call,set str=%%str:%var%= %%
  9. set /p=       %str%<nul
  10. for /l %%i in (1,1,1000) do set /p=<nul
  11. goto begin
复制代码
发表于 2008-6-21 15:17:43 | 显示全部楼层
哇哦~~~TI is beautiful  ~~~~~~
发表于 2008-6-23 17:18:19 | 显示全部楼层

倒地!

被你这个东东搞挂机了
发表于 2008-6-26 13:07:20 | 显示全部楼层
好东西啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
发表于 2008-6-27 22:16:54 | 显示全部楼层
不错 哦xxi kl
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:32 , Processed in 0.030391 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表