![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 15:57 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]请教批处理变量的百分号的问题 |
| 可打印版本 1,177 / 6 |
| 第1楼 rjoe | 发表于 2008-11-26 11:15 |
| 初级用户 发帖 21 积分 44 | |
|
[已结]请教批处理变量的百分号的问题 新人在学批处理, 遇到这个问题想不通, 请大家帮忙解释一下:
1个百分号: 这个明白, 结果就是abcd, 输出变量的内容. 2个百分号 为什么结果是%test%, 而不是%abcd%. 3个百分号 为什么结果是%abcd%, 这时为什么可以出来变量的值. 4个百分号 为什么结果是%%test%%. 先谢谢大家了! [ Last edited by HAT on 2008-11-26 at 13:38 ] |
|
| 第2楼 tireless | 发表于 2008-11-26 12:07 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
两个脱为一个。
%%test%% —— —— ↓ ↓ %test% %%%test%%% —— ———— —— ↘ ↓ ↙ %abcd% %%%%test%%%% —— —— —— —— ↘ ↓ ↓ ↙ %%test%% |
|
| 第3楼 radem | 发表于 2008-11-26 12:19 |
| 高级用户 发帖 383 积分 691 | |
|
还真细心观察滴
|
|
| 第4楼 HAT | 发表于 2008-11-26 12:27 |
| 版主 发帖 5,017 积分 9,023 | |
| 第5楼 Climbing | 发表于 2008-11-26 13:03 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
太机械了,为什么一定要到批处理室提问?
%对于DOS来说不是一个普通的字符,而是一个元字符,具有特殊的意义,所以在批处理中它的处理方式与普通字符不同。 如果你上面所说,“%变量% ”用来表示变量的值,这个没有疑义。 但是,如果“%%”,两个%连在一起,DOS就会将它解释为1个%,也就是说,两个%%相当于一个普通的%,它不再具有元字符的意思了。这个规则是按从左到右的顺序实行的。 所以,%%test%%就变成了两个普通的%中间夹着test。 其它的类似解析即可。 |
|
| 第6楼 rjoe | 发表于 2008-11-26 13:24 |
| 初级用户 发帖 21 积分 44 | |
|
感谢各位的解答, hehe…
|
|
| 第7楼 DOSforever | 发表于 2008-11-26 13:59 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
嘿嘿,我对小磕的话还真有点不同意见,这 % 还真和批处理有很大的关系,因为这 % 在 DOS 下是允许做文件名的,以前 WPS 生成的临时文件的后缀名就是 %A% 和 %B%,在 DOS 的命令提示符状态下你引用 %test% 是无效的,COMMAND 只会把这当正常字符来处理,echo %test% ,显示的就是 %test% ,只有在批处理中才会把它当环境变量来处理。当然,别的命令处理器可以在命令行下直接引用那是后话了。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |