[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 【已解决】打字机效果批处理代码解释

打字机效果的代码
  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”代码不太明白,能否具体解释一下?
:和,具体表示什么意思啊?

利用字符串截取做的,把那行换成这样你就可以看懂了:
  1. set /p=%%str:~%%h,1%%<nul&echo,
复制代码
看下字符串截取相关帖子你就明白了:
http://bbs.bathome.net/viewthrea ... hlight=%BD%D8%C8%A1
问题解决后,请在标题前面注明[已解决],并给回答者加分——化繁为简,提高工作效率!

TOP

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
这样应该明白了吧~
1

评分人数

TOP

返回列表