![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 05:41 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请高手帮我看看这个例子中的问题!!! |
| 可打印版本 728 / 3 |
| 第1楼 caucfeiyu | 发表于 2007-04-18 16:27 |
| 初级用户 发帖 35 积分 108 来自 河北廊坊 | |
|
请高手帮我看看这个例子中的问题!!! 在论坛上看到这个例子,但是不太懂其中的一个地方
例子: @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 ] |
|
| 第2楼 bjsh | 发表于 2007-04-18 22:11 |
| 银牌会员 发帖 621 积分 2,000 | |
|
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里一句一句的运行 你就会明白了 |
|
| 第3楼 htysm | 发表于 2007-04-19 00:38 |
| 高级用户 发帖 415 积分 866 | |
|
解释的精彩,加分。^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 ] |
|
| 第4楼 caucfeiyu | 发表于 2007-04-19 02:49 |
| 初级用户 发帖 35 积分 108 来自 河北廊坊 | |
|
谢谢两位的回答!又学到知识了!呵呵~!~!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |