|
|
发表于 2008-9-23 19:33:20
|
显示全部楼层
- @echo off
- setlocal enabledelayedexpansion
- set "str=我不想让你哭,也不想认输,只想用我的爱再次把你留住。"
- for /l %%a in (0 1 100) do (
- if "!str:~%%a,1!" neq "" (
- set/p=!str:~%%a,1!<nul
- sleepx -m 500
- ) else (
- pause>nul&exit/b
- ))
复制代码
for /l %%a in (0 1 100) do if "!str:~%%a,1!" neq "" set/p=!str:~%%a,1!<nul
用for 来控制0-100这些个数,并检测str的值在第几个字符不为空,不为空就打印出来。"!str:~%%a,1!" 在此处会扩展为"!str:~0,1!" "!str:~1,1!" !str:~2,1!" ....."!str:~10,1!",~之后的“偏移”就是for中控制的数,如果不为空值,接下来就是set/p=!str:~%%a,1!<nul的作用了,输出!str:~%%a,1!但不换行,关于set/p的用法,具体请看http://bbs.bathome.net/thread-1940-1-1.html 5楼。
sleep -m 500,借用第三方工具sleep.exe,延时500毫秒。
以上,都是在!str:~%%a,1!不为空的情况下来的,如果检测到"!Str:~%%a,1!"为空又如何呢,就会执行else 中的语句,pause>nul&exit/b,暂停并退出,只要检测到一次就会退出。 |
|