Board logo

标题: [特效代码] 【已解决】打字机效果批处理代码解释 [打印本页]

作者: BatAli    时间: 2014-10-10 10:59     标题: 【已解决】打字机效果批处理代码解释

打字机效果的代码
  1. @echo off  
  2. set str=123456789  
  3. set length=9  
  4. for /l %%h in (0 1 %length%)do (  
  5. call set/p=%%str:~%%h,1%%<nul
  6. ping /n 1 127.1>nul  
  7. )  
  8. echo.  
  9. pause
复制代码
其中“ call set/p=%%str:~%%h,1%%<nul”代码不太明白,能否具体解释一下?
:和,具体表示什么意思啊?
作者: 小胖狐狸    时间: 2014-10-10 11:10

2、字符串截取

**********************************************
截取功能统一语法格式为:%a:~[m[,n]]%
**********************************************
方括号表示可选,%为变量标识符,a为变量名,不可少,冒号用于分隔变量名和说明部分,符号~可以简单理解为“偏移”即可,m为偏移量(缺省为0),n为截取长度(缺省为全部)


%PATH:~10,5%  这个什么意思,看例子:

截取功能例子1:
@echo off
set a=bbs.verybat.cn
set var=%a:~1,2%
echo %var%
pause

执行后,我们会发现只显示了"bs"两个字母,我们的变量%a%的值不是为bbs.verybat.cn吗?
怎么只显示了第2个字母和第3个字母"bs",分析一结果我们就可以很容易看出
%a:~10,5%就是显示变量a里从11位(偏移量10)开始的5个字符!
分析set var=%a:~1,2%
  set是命令,var是变量值,a要进行字符操作的变量,"1"从变量"a"第几位开始显示,"2"表示显示几位。
合起来就是把变量a的值从第2位(偏移量1)开始,把2个字符赋予给变量var
这样应该明白了吧~
作者: Linuxer    时间: 2014-10-10 11:14

利用字符串截取做的,把那行换成这样你就可以看懂了:
  1. set /p=%%str:~%%h,1%%<nul&echo,
复制代码
看下字符串截取相关帖子你就明白了:
http://bbs.bathome.net/viewthrea ... hlight=%BD%D8%C8%A1




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