中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 23:51
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教一个在延迟环境变量下的字符替换问题
可打印版本  855 / 2
第1楼 lionlove 发表于 2010-08-15 11:18
新手上路 发帖 4 积分 5
请教一个在延迟环境变量下的字符替换问题
最近写了一个在延迟环境变量下的字符替换的脚步,如下:
@echo off
setlocal enabledelayedexpansion
set /p str=字符串:
set /p old=请输入old:
set /p new=请输入new:
set str=!str:!old!=!new!!
echo !str!
pause
得到的结果却是oldnew,而不是我想要的替换字符的结果,如果把old和new两边的百分号改为感叹号,就可以,为什么?不是说延迟环境变量下,变量得用感叹号括起来的?而且输出的结果,也令人费解。
第2楼 HAT 发表于 2010-08-15 13:11
版主 发帖 5,017 积分 9,023
变量嵌套不是这样用的,参考:
http://bbs.bathome.net/thread-2899-1-1.html
第3楼 lionlove 发表于 2010-08-15 15:21
新手上路 发帖 4 积分 5
看了参考资料,有点明白了,版主可否讲解下变量嵌套的用法,使用变量嵌套的时候,需要注意点什么,谢谢了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023