Board logo

标题: [文本处理] 限制文字的输出速度 [打印本页]

作者: cmbatd    时间: 2009-1-7 15:42     标题: 限制文字的输出速度

  1. @echo off
  2. set tt=
  3. set /p t=设置文本显示的速度(0-2):
  4. if "%t%"=="" exit
  5. if "%t%"=="0" set tt=::
  6. set a=两个人一起是为了快乐!分手是为了减轻痛苦!你无法再令我快乐,我也唯有离开,我离开的时候,也很痛苦,只是,你肯定比我痛苦!因为我首先说再见,首先追求快乐的是我.
  7. ping -n 2 127.1>nul
  8. :xh
  9. set/p c=%a:~0,1%<nul
  10. set a=%a:~1%<nul
  11. %tt%ping -n %t% 127.1>nul
  12. if defined a goto xh
  13. echo.
  14. pause
复制代码


"set tt=::"和ping前的%tt%及<nul各是什么意思?这段代码是如何实现限制文字输出的速度的啊~~~
作者: wxcute    时间: 2009-1-7 15:57

限速靠这句:
%tt%ping -n %t% 127.1>nul
t 值越大速度就越慢。若还不知道为什么,请查阅 Ping /? 的帮助。
作者: cmbatd    时间: 2009-1-8 14:10

那"set tt=::"和"<nul"呢?
作者: Batcher    时间: 2009-1-8 14:25     标题: 回复 3楼 的帖子

::是注释,整句代码的作用就是为了符合某个条件时,注释某行代码。
nul的作用可在本版搜索学习
作者: cmbatd    时间: 2009-1-8 23:50

"set tt=::"符号某个条件?怎么符号啊?符号哪个条件啊~~
作者: lhjoanna    时间: 2009-1-9 00:08

符合
if "%t%"=="0" set tt=::
如果变量t为0,此句%tt%ping -n %t% 127.1>nul 不执行。
作者: cmbatd    时间: 2009-1-10 14:45

还是没有回复到点上~~~~
::赋值给tt是什么意思啊?
作者: Batcher    时间: 2009-1-10 16:50     标题: 回复 7楼 的帖子

就是把变量tt的值设置为字符串::
作者: cmbatd    时间: 2009-1-11 10:30     标题: 回复 8楼 的帖子

上段代码在输入2时字符输出速度极端的不准确~~为何?
把ping前的%tt%去掉后影响貌似也不大啊?那::赋值给tt有何意义呢~~~::这玩意也没显示什么啊...
作者: batman    时间: 2009-1-12 00:14

原帖由 cmbatd 于 2009-1-11 10:30 发表
上段代码在输入2时字符输出速度极端的不准确~~为何?
把ping前的%tt%去掉后影响貌似也不大啊?那::赋值给tt有何意义呢~~~::这玩意也没显示什么啊...

第一问:用拼来延时本来就不准确还不如用for /l %%a in (1,1,1000) do echo>nul这样的方法。
第二问:当%t%的值为0时,ping /n %t% 127.1>nul就会报错,这时楼主就想了个将%tt%的值设为::的办法来忽略对此行程序的执行。
作者: ahongguo    时间: 2009-1-12 08:37

用for /l %%a in (1,1,1000) do echo>nul这样的方法   能否说一下怎样掌握时间
看过说在有误差的情况下比如 ping /n 3 127.1>nul 大约是2秒
作者: Batcher    时间: 2009-1-12 09:20     标题: 回复 11楼 的帖子

http://www.cn-dos.net/forum/viewthread.php?tid=45410
作者: cmbatd    时间: 2009-1-12 14:56

如何将它们("for /l %%b in (1,1,N) do (ping -n 1 127.0>nul)"与控制字符输出的速度)串起来~~~




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2