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

[特效代码] [讨论]再谈批处理模拟2000开机动画效果

[复制链接]
发表于 2007-11-8 23:09:44 | 显示全部楼层 |阅读模式
相应flash动画懒得做了,表述一下好了。

开始时,窗口显示成:
||||||||||||||||||||||||||||||||||||||||||
然后,第一个|换成>
>|||||||||||||||||||||||||||||||||||||||||
下一回:
>>||||||||||||||||||||||||||||||||||||||||
继续:
>>>|||||||||||||||||||||||||||||||||||||||
最后:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

原来已经有人写了相应的代码,但是,都是通过cls清屏来实现,使窗口看起来有震动的现象,效果不是很逼真...
不知道各位有何高见呢?
发表于 2007-11-8 23:40:01 | 显示全部楼层
::
  1. @echo off&for /l %%a in (1 1 18) do echo\
  2. set /p=       <nul
  3. for /l %%i in (1 1 70) do set /p=^|<nul
  4. for /l %%i in (1 1 70) do set /p=<nul
  5. for /l %%i in (1,1,70) do (
  6. set/p=^><nul
  7. for /l %%a in (1 1 1000) do ver>nul
  8. )
  9. echo\&echo\&pause
复制代码
发表于 2007-11-9 00:29:52 | 显示全部楼层
  玩了那么久,今天才发现退格符号居然能跑到字符串头部去删除字符,对这段代码的执行过程百思不得其解:

  首先生成70个|,然后,用70个退格符号去删除,那么以前的字符串应该都不能看到了才是,怎么还会停留在屏幕上呢?在第二个for后加上pause查看显示结果,发现"按任意键继续..."的提示居然跑到那70个|前面去了,真是倍感疑惑;就算是光标能定位到那70个|前面,最后一个for生成的>应该把那70个|往后挤才对啊,怎么会逐个"吃"掉后面的|呢?

  看来,set /p=<nul 语句和退格符号的执行机制充满了神秘啊。
 楼主| 发表于 2007-11-9 01:23:27 | 显示全部楼层
呵呵,这个你就发现的比较晚了吧?!
退格键虽然能够“删除”字符,但是已经显示出来的字符它并不能真正的“清空”(不然的话,倒是可以实现很漂亮的动画效果了...)
发表于 2007-11-9 02:19:03 | 显示全部楼层
其实退格键并不是删除字符,只是将光标定位到前面,若没有新的内容显示出来,前面显示的仍可以看见.
但新的内容会覆盖原来的内容.
发表于 2007-11-9 10:56:10 | 显示全部楼层

同意楼上的

能讲解下那几个命令不?
 楼主| 发表于 2007-11-9 16:27:47 | 显示全部楼层
set /p=^|<nul的作用就是显示一个 |
注意:这里的|前面还有一个^,目的是将|转义,也就是告诉电脑,这个是一个字符而已,否则,电脑则会把它当成 管道符使用
for /l %i in (1 1 10) do set /p=^|<nul的作用就是显示 在一行上显示 10个|

set /p=<nul
这里指的是退格键

set/p=^><nul的意思同上
发表于 2007-11-9 23:23:20 | 显示全部楼层

懂了
谢谢了
 楼主| 发表于 2007-11-10 18:29:26 | 显示全部楼层
原帖由 随风 于 2007-11-8 23:40 发表
::@echo off&for /l %%a in (1 1 18) do echo\
set /p=        

不过,话又说回来,通过大量重复的命令的方法来 达到延时的效果是不是有点 “夸张” 呢?呵呵,不过倒是一种方法之一...
发表于 2007-11-26 13:18:22 | 显示全部楼层
呵呵
懂退格符的用法了
哈哈
发表于 2008-2-1 07:59:51 | 显示全部楼层
ping 127.1 -n 1 >nul 延时
不过,windows2000开机动画是
>>>>>>>>>|||||||||||||||||||吗?
我记得是>>>>>>>>>>============
发表于 2008-2-4 10:05:58 | 显示全部楼层
退格键怎么打出来啊我怎么无论如何都打不出来啊
发表于 2008-2-4 18:17:49 | 显示全部楼层
在CMD霞输入EDIT
百度下吧。我也忘记了。
 楼主| 发表于 2008-2-8 14:27:38 | 显示全部楼层
edit 下,直接按下 退格 键,然后将那个符号复制下来就可以了
发表于 2008-2-9 11:03:01 | 显示全部楼层
终于找到了可以在同一行动态显示字符的方法:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-9 11:51

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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