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

不是很擅长特效,也没怎么思考过其中的技巧,所以写得比较复杂
  1. @echo off
  2. set /a 耗时=10,宽=40
  3. set /p call=1、scroll  2、alternate  3、slide(Current) ^
  4.    Your Choice:[.]
  5. if "%call%"=="1" call:marquee "scrollamount=%耗时% width=%宽%  behavior=scroll" "bbs.bathome.net"
  6. if "%call%"=="2" call:marquee "scrollamount=%耗时% width=%宽%  behavior=alternate" "bbs.bathome.net"
  7. call:marquee "scrollamount=%耗时% width=%宽%  behavior=slide" "bbs.bathome.net"
  8. :marquee
  9. setlocal enabledelayedexpansion
  10. title %*
  11. for /f "skip=4 tokens=2" %%a in ('mode con') do if not defined cols set cols=%%a
  12. for /f "tokens=1-3" %%a in (%1) do set %%c&set /a %%a,%%b
  13. if %behavior%==slide set sl=::
  14. set "$=%~2#"
  15. set len=&for %%a in (128 64 32 16 8 4 2 1)do if !$:~%%a^,1!. NEQ . set/a len+=%%a&set $=!$:~%%a!
  16. set th=【此处替换为制表符tab】
  17. for /l %%a in (0 %cols% %width%) do echo;&set th=!th!
  18. set "sr=%~2"
  19. for /l %%a in (1 1 %width%) do set "sr= !sr!"
  20. set k=!sr:~0,%width%!&set xh=!sr:~-%width%!
  21. (if not %behavior%==alternate for /l %%a in (1 1 %len%) do (
  22. echo !th! !k:~0,-%%a!!xh:~-%len%,%%a!
  23. for /l %%b in (-%scrollamount%00 5) do cd.
  24. )) 2>nul
  25. if %behavior% neq scroll set /a "width-=len"
  26. %sl% (set /a width-=1
  27. %sl% for /l %%a in (1 %behavior:slide=%1 1) do (
  28. for /l %%b in (1 1 %width%) do (
  29. echo !th! !xh:~%%b!!xh:~0,%%b!
  30. for /l %%b in (-%scrollamount%00 5) do cd.
  31. )
  32. %sl% if !behavior! neq scroll for /l %%b in (!width! -1) do (
  33. %sl% echo !th! !xh:~%%b!!xh:~0,%%b!
  34. %sl% for /l %%b in (-%scrollamount%00 5) do cd.)
  35. %sl%)) 2>nul
  36. endlocal
  37. pause>nul
复制代码
修改了下,代码更飘逸,思路更严谨
1

评分人数

TOP

刚才笔误了,不是退格符,是制表符,也就是tab

TOP

返回列表