我主要是不知道随风斑竹写的这个是怎么能实现从两边显示的
能否讲解一下 这里的原理 - @echo off
- setlocal enabledelayedexpansion
- set var=欢迎光临批处理之家
复制代码 上面几段就不用作解释了吧,想必大家都明白- for /l %%a in (1 1 80) do set t=!t!
复制代码 这一段代码就是预设变量t的值为80个
如果用户CMD窗口大小没有自定义,默认的长方向应该就是80左右吧- for /l %%a in (1 1 36) do set ko= !ko!
复制代码 [这一段代码就是预设变量ko的值为36个 ]
这个符号我也不知道是什么符号,就当它是两字节的空格吧,上面为了好看所以用括号括起来- for /l %%i in (1 1 9) do (
- set /p= !var:~0,%%i!!ko!!var:~-%%i!<nul
- for /l %%a in (1 1 800) do ver>nul
- set /p=!t!<nul
- set ko=!ko:~2!
- )
复制代码 这是一个FOR嵌套语句,是整个代码的关键部份- set /p= !var:~0,%%i!!ko!!var:~-%%i!<nul
复制代码 看这一句,set/p=<nul的用法5楼己经说过
- !var:~0,%%i!!ko!!var:~-%%i!
复制代码
这一行就是你想了解的怎么能实现从两边显示
!var:~0,%%i!就是变量的截取功能,第一次它的值是"欢",第二次是"欢迎"以此类推
!ko!就不用说了,上面有解说过
!var:~-%%i!这个也是变量的截取功能,第一次它的值是"家",第二次是"之家"以此类推- for /l %%a in (1 1 800) do ver>nul
复制代码 这个代码是起延时作用的复制代码 这个呢就是删除的意思,删除原先的,再显示,cls清屏也可以做到,但是用cls清屏给人的感觉是一跳一跳的,不流畅复制代码 这行代码也是变量的截取功能,在变量ko中截取第三个开始的后面所有值,也就是舍去前面两位值
呵呵,能力有限,不知说的对不对
[ 本帖最后由 ieutk 于 2007-12-31 15:33 编辑 ] |