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

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

[复制链接]
发表于 2014-10-10 10:59:40 | 显示全部楼层 |阅读模式
打字机效果的代码
  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:54 | 显示全部楼层
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技术 +1 收起 理由
BatAli + 1 简单明了

查看全部评分

发表于 2014-10-10 11:14:10 | 显示全部楼层
利用字符串截取做的,把那行换成这样你就可以看懂了:
  1. set /p=%%str:~%%h,1%%<nul&echo,
复制代码
看下字符串截取相关帖子你就明白了:
http://bbs.bathome.net/viewthrea ... hlight=%BD%D8%C8%A1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 21:12 , Processed in 0.020912 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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