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

[出题]批处理视觉类动画

[复制链接]
发表于 2010-7-21 10:06:54 | 显示全部楼层 |阅读模式
额...不知道这个题目是不是很老了...我很久以前看到的...

用纯P达到下面的效果
====================

(本来有彩的...因为有彩录起来不方便...就黑白的吧...)
====================
目的:掌握变量截取...(我使用变量截取的,有其他方法也可以...)

要求:显示上图效果
====================
新手试试...老鸟略过......
发表于 2010-7-21 12:51:56 | 显示全部楼层
  1. @echo off
  2. title BatHome
  3. mode con cols=25 lines=4
  4. SetLocal EnableDelayedExpansion

  5. set "String_Top= >  >  >  >  >  >  >  > "
  6. set "String_Center=bbs.bathome.net"
  7. set "String_Bottom= <  <  <  <  <  <  <  < "
  8. set "Space=                   "
  9. set "Backspace="
  10. set "End=9"

  11. :: ---------------------- 中间动画 ----------------------
  12. echo,
  13. set /p =     <nul

  14. for /l %%p in (0 1 14) do (
  15.     set /p =!Space:~%%p!<nul
  16.     set One=!String_Center:~%%p,1!
  17.     for /l %%b in (1 1 !End!) do (
  18.         set /p = !Backspace!!One!<nul
  19.         if !Backspace!== set Backspace=
  20.         ping -n 1 127.1 >nul
  21.     )
  22.     set /a "Var = (Var + 1) %% 2"
  23.     if !Var!==1 (set Backspace=) else set /a End -= 1
  24. )

  25. :: ---------------------- 上下动画 ----------------------
  26. for /l %%a in (1 1 1000000) do (
  27.     set String_Top=!String_Top:~-1!!String_Top:~0,-1!
  28.     set String_Bottom=!String_Bottom:~1!!String_Bottom:~0,1!
  29.     echo !String_Top!
  30.     echo      !String_Center!
  31.     echo !String_Bottom!
  32.     ping -n 1 127.1 >nul
  33.     cls
  34. )
复制代码
[ 本帖最后由 z7r3kslwtj5w_px 于 2010-7-21 19:34 编辑 ]

评分

参与人数 3PB +9 技术 +1 收起 理由
jinzeyu + 1 good
vsbat + 6 精彩
poxi + 3 鼓励鼓励,不错不错.......

查看全部评分

发表于 2010-7-21 22:30:25 | 显示全部楼层
路过,代码就不发了.以下截图都为动态动画,无需人工控制干预.

[ 本帖最后由 sl543001 于 2010-7-21 23:39 编辑 ]
发表于 2010-7-21 23:27:09 | 显示全部楼层

回复 1楼 的帖子

也来一个,不知道怎么弄“移动鼠标显示”啊:
  1. @echo off&SetLocal EnableDelayedExpansion
  2. mode con cols=25 lines=4&title BatHome
  3. set "str1=>  >  >  >  >  >  >  >"
  4. set "str2=<  <  <  <  <  <  <  <"
  5. set "sleep=(for /l %%i in (1,1,100) do echo.>nul)&cls"
  6. set "log=echo      bbs.bathome.net"
  7. :loop
  8. echo !str1!&%log%&echo   !str2!&%sleep%
  9. echo  !str1!&%log%&echo  !str2!&%sleep%
  10. echo   !str1!&%log%&echo !str2!&%sleep%
  11. goto :loop
复制代码

[ 本帖最后由 wankoilz 于 2010-7-21 23:41 编辑 ]

评分

参与人数 1PB +2 收起 理由
poxi + 2 鼓励下...

查看全部评分

发表于 2010-12-29 14:19:58 | 显示全部楼层
2楼 中间动画   复杂化了
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. for /l %%i in (15 -1 1) do (
  4.          set "aaa= !aaa!"
  5. )
  6. set /p =         <nul
  7. set "str=bbs.bathome.net"
  8. for /l %%i in (15 -1 1) do (
  9.       set /p=!aaa!<nul
  10.       set num=%%i
  11.       call set "aaa=%%aaa:~-!num!%%"
  12.       set /a n+=1
  13.       set /a m=n-1
  14.       call set "one=%%str:~!m!,1%%"
  15.       for /l %%j in (1 1 !num!) do (
  16.               set /p "= !one!"<nul
  17.               ping -n 1 127.1>nul
  18.       )
  19. )
  20. pause>nul
复制代码
发表于 2011-4-28 23:52:57 | 显示全部楼层
改编人家的,有点意思,不过CPU……
  1. @echo off&setlocal enabledelayedexpansion
  2. ::可以通过修改两个FOR以及str的空格数量来控制图标往前或者往后移动。
  3. ::退格键的意义就是cls的意义,只不过它不是全屏清理,而是往前清理。
  4. echo,
  5. echo.
  6. set "str=                            《《》》"
  7. for /l %%a in (1,1,50) do set "t=!t! "
  8. echo.&set /p= <nul
  9. echo.弹簧、钟摆、火车
  10. :lp
  11. for /l %%a in (1,1,20) do (
  12.      set /a a=6*%%a
  13.      for %%b in (!a!) do set "t1=!t:~%%b!"
  14.      set /p=!str:~%%a!<nul
  15.      for /l %%b in (1,1,500) do echo>nul
  16.      set /p=!t1!<nul
  17. )
  18. goto lp
复制代码
发表于 2011-5-3 13:07:18 | 显示全部楼层
很好很强大
发表于 2011-5-28 20:06:49 | 显示全部楼层
嗯  不是 很会 !潜水继续看!!
发表于 2017-2-23 22:47:01 | 显示全部楼层
回复 2# z7r3kslwtj5w_px
看代码眼睛都要看花了还没想明白是怎么实现的。。。
发表于 2017-3-3 23:50:36 | 显示全部楼层
回复 2# z7r3kslwtj5w_px

时隔几日,终究看明白了,感谢分享
发表于 2017-3-4 12:51:39 | 显示全部楼层
照抄CNDOS飞入+变色字
不是我写的,我只是搬运工(<v<)
  1. @echo off&setlocal enabledelayedexpansion&cls&color 0f&title Welcome to BatHome!
  2. mode con: cols=30 lines=3
  3. set "a=                            BatHome"
  4. set b=
  5. set "c=12345689abcde"
  6. :c
  7. for /l %%a in (6,1,28) do (
  8. set /a d=%random%%%13+1
  9. call :pp %%a
  10. )
  11. goto c
  12. :pp
  13. set/p=!a:~-%1!<nul
  14. set/p=!b:~0,%1!<nul
  15. color 0!c:~%d%,1!
  16. goto :eof
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 19:16 , Processed in 0.024031 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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