中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请高手帮我看看这个例子中的问题!!!
作者:
标题: 请高手帮我看看这个例子中的问题!!! 上一主题 | 下一主题
caucfeiyu
初级用户




积分 108
发帖 35
注册 2007-4-12
来自 河北廊坊
状态 离线
『楼 主』:  请高手帮我看看这个例子中的问题!!!

在论坛上看到这个例子,但是不太懂其中的一个地方
例子:
@echo off&setlocal enabledelayedexpansion&cls&color 0f&title Welcome to CN-DOS!
mode con: cols=30 lines=3
set "a=                            CN-DOS"
set "b="
set "c=12345689abcde"
echo\
:c
for /l %%a in (6,1,28) do (
set /a d=%random%%%13+1
call :pp %%a
)
goto c
:pp
set/p=!a:~-%1!<nul
set/p=!b:~0,%1!<nul
color 0!c:~%d%,1!
goto :eof
其中红色标注的是什么意思啊!!!  为什么要用%1呢,%1在这里是什么意思呢!
还有call :pp %%a这句话是什么意思啊
请高手帮我解释一下!谢谢!

[ Last edited by caucfeiyu on 2007-4-18 at 03:37 AM ]

2007-4-18 16:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 2 楼』:  

call :pp %%a
是call的一种用法; 相当于调用 标签 :pp处的 "函数" %%a 为:pp 处用到的参数
call :pp %%a
把%%a 的参数传递给 :pp 并执行:pp后的命令直到碰到结束符;执行完后再返回到call处 并继续执行call 下面的语句;

而参数 %%a 在 :pp处调用是 是用 %1来表示的;

比如 %%a的值为 8

则 set /p=!a:~-%1!<nul相当于set /p=!a:~-8!<nul

至于 a:~-%1 的理解 给你个例子
set /p var=123456789
echo %var:~1%
echo %var:0,1%
echo %var:0,-1%
echo %var:-1%
在cmd里一句一句的运行 你就会明白了

   此帖被 +8 点积分       点击查看详情   
评分人:【 htysm 分数: +2  时间:2007-4-19 00:39
评分人:【 caucfeiyu 分数: +2  时间:2007-4-19 02:48
评分人:【 zhoushijay 分数: +4  时间:2007-4-19 03:05


2007-4-18 22:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
htysm
高级用户




积分 866
发帖 415
注册 2005-12-4
状态 离线
『第 3 楼』:  

解释的精彩,加分。^O^

更正一下:

@echo off
set var=123456789
echo %var%
echo %var:~1,5%
echo %var:~0,1%
echo %var:~0,-1%
echo %var:~-1%
pause

[ Last edited by htysm on 2007-4-19 at 12:47 AM ]

2007-4-19 00:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
caucfeiyu
初级用户




积分 108
发帖 35
注册 2007-4-12
来自 河北廊坊
状态 离线
『第 4 楼』:  

谢谢两位的回答!又学到知识了!呵呵~!~!

2007-4-19 02:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: