[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[游戏娱乐] 批处理实现字符串左右移动

最近,本论坛对 批处理 动画"研究"似乎比较热
为跟潮流,也为打发一些不太快乐的时光,作一批处理,以博一笑。
动画效果:字符串向左移动到 最左端,然后右移,到一定程度,再左移...
  1. @echo off %=======关闭回显========%
  2. Rem '/*程序名称:动画显示示例
  3. Rem '/*程序说明:实现一段字符从左到右、从右到左的移动效果
  4. Rem '/*作者:youxi01@bbs.bathome.net
  5. Rem '/*时间:于2007-12-15
  6. Rem '/*------开启延迟变量----------
  7. setlocal enabledelayedexpansion
  8. for /l %%i in (1 1 5) do echo.
  9. color 1f
  10. Rem '/*=======此处字符可以根据需要自行修改========
  11. set "str=欢迎光临论坛:bbs.bathome.net"
  12. set "space=                              "
  13. call :ShowStr "%space%%str%"
  14. call :Move_Left "%space%%str%"
  15. pause>nul
  16. Rem '/*=========延时"函数"===========
  17. :Delay_Time num(次数)
  18. for /l %%i in (0 1 %1) do ver>nul
  19. goto :eof
  20. Rem '/*========动画"函数"1(出现效果)========
  21. :ShowStr str
  22. title bbs.bathome.net -- 正在载入动画...
  23. set "Sstr=%~1"
  24. for /l %%i in (0 1 60) do set /p=!Sstr:~%%i,1!<nul& call :Delay_Time 200
  25. goto :eof
  26. Rem '/*========动画函数2(向左移动)==========
  27. :Move_Left str
  28. title bbs.bathome.net -- 字符正在往左移...
  29. set "Lstr=%~1"
  30. for /l %%i in (0 1 200) do (
  31.     set "Lstr_=!Lstr:~%%i,60!
  32.     if not "!Lstr:~%%i,1!"==" " call :Move_Right %str%
  33.     for /l %%j in (0 1 80) do set /p=<nul
  34.     set /p=!Lstr_!<nul & call :Delay_Time 150)
  35. Rem '/*========动画函数2(向右移动)==========
  36. :Move_Right str
  37. title bbs.bathome.net -- 字符正在往右移...
  38. set "Rstr=%~1"
  39. for /l %%i in (0 1 30) do (
  40.     set "Rstr= !Rstr!"
  41.     for /l %%j in (0 1 80) do set /p=<nul
  42.     set /p=!Rstr!<nul & call :Delay_Time 150)
  43. ping /n 3 127.1>nul
  44. call :Move_Left "%space%%str%"
复制代码
1

评分人数

    • foxJL: 越来越精彩了PB + 8

:lis
set bt=%bt2%&set bt2=%bt%

这里妙极,重复运行的时候,自动换 成 左和右 ,呵呵。

总体上来说,代码非常不错!!!

TOP

不过有点点建议:
根据编程习惯,3F的变量num,还是定义为flag(用来标志)更容易让人接受

TOP

flag是E文 标志 的意思
有时候代码不是一味的追求简洁,比方说变量,不是说为了减少 字符数,就尽量把变量名设置为一个字母等;
代码除了简洁,还要易读

TOP

返回列表