![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 12:30 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 环境变量延迟问题 |
| 可打印版本 749 / 3 |
| 第1楼 btpg | 发表于 2010-04-11 15:45 |
| 新手上路 发帖 19 积分 17 来自 湖北 | |
|
环境变量延迟问题 @echo off&color a
setlocal enabledelayedexpansion set /a a=1,b=1 :begin set /a a=!a!*3 echo 3的!b!次方等于:!a! set /a b=!b!+1 if b leq 10 goto :begin pause 看上去没什么问题呀?为什么不行呢? [ Last edited by btpg on 2010-4-11 at 15:46 ] |
|
| 第2楼 btpg | 发表于 2010-04-11 16:01 |
| 新手上路 发帖 19 积分 17 来自 湖北 | |
|
已经搞清楚了,原来是
这句出了问题,改成: 就成了 还是要多练习呀!! [ Last edited by btpg on 2010-4-11 at 16:42 ] |
|
| 第3楼 btpg | 发表于 2010-04-11 16:32 |
| 新手上路 发帖 19 积分 17 来自 湖北 | |
|
呃……,貌似这样也可以呵………… 好像不是变量延迟的问题……………… 呃呵…………呵 |
|
| 第4楼 Hanyeguxing | 发表于 2010-04-11 19:19 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
Originally posted by btpg at 2010-4-11 15:45: if b leq 10 goto :begin在这里b是字符,不是变量,因为没用%或!括起来,字符b永远大于数字10,所以goto :begin永远不会执行。 Originally posted by btpg at 2010-4-11 16:32: 本版内搜索关键词“预处理”和“变量延迟” 这个也可以这样写: 这里的set/a a=a*3实际就是set/a a=%a%*3 或 这里的set/a a=a*3实际就是set/a a=!a!*3 [ Last edited by Hanyeguxing on 2010-4-11 at 19:31 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |