![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 18:08 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 这么简单的六行批处理 哪里错了呢? |
| 可打印版本 803 / 6 |
| 第1楼 netroyal | 发表于 2007-10-13 12:13 |
| 初级用户 发帖 12 积分 30 | |
|
这么简单的六行批处理 哪里错了呢? set a=123
if 1==1 ( set /a b=%a:~-3,1% echo b is %b% ) pause 双击运行结果如图,结果令人百思不得其解!怎么就不能输出%b%的值呢? 附件上传不了,把它上传到百度相册了 http://hiphotos.baidu.com/webroyal/pic/item/a003f843a8d1b11872f05d5f.jpg |
|
| 第2楼 scriptor | 发表于 2007-10-13 12:48 |
| 银牌会员 发帖 555 积分 1,187 | |
Originally posted by netroyal at 2007-10-13 12:13: 变量延迟! |
|
| 第3楼 netroyal | 发表于 2007-10-13 17:12 |
| 初级用户 发帖 12 积分 30 | |
|
变量延迟 受教!谢谢
|
|
| 第4楼 nanhui112 | 发表于 2008-03-09 14:40 |
| 初级用户 发帖 59 积分 127 | |
|
这样也行. @echo off
set a=123 if 1==1 ( set b=%a:~-3,1%) echo b is %b% pause |
|
| 第5楼 suntb | 发表于 2008-03-09 14:52 |
| 高级用户 发帖 277 积分 581 | |
|
变量延迟往往被忽略
|
|
| 第6楼 faultcode | 发表于 2008-03-09 15:44 |
| 初级用户 发帖 60 积分 120 | |
|
结合2楼 4楼的回复
理解延迟变量典型的例子 |
|
| 第7楼 qdloverr | 发表于 2008-03-09 19:24 |
| 初级用户 发帖 33 积分 97 | |
|
setlocal EnableDelayedExpansion
set a=123 if 1==1 ( set /a b=%a:~-3,1% echo b is !b! ) pause |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |