![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-19 05:50 |
共 47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 如何用变量的值替换另一个变量的值?? |
| 可打印版本 696 / 8 |
| 第1楼 unixShell | 发表于 2008-03-05 10:40 |
| 初级用户 发帖 8 积分 22 | |
|
如何用变量的值替换另一个变量的值?? Code:
目的是要用%test%替换%text%中#test#部分, 但发现扩展变量中遇到第一个%就返回了, 不知道如何实现,谢谢. |
|
| 第2楼 pooronce | 发表于 2008-03-05 10:52 |
| 中级用户 发帖 250 积分 484 | |
|
好像是不能嵌套使用造成的,但可以变通点,这样:
|
|
| 第3楼 unixShell | 发表于 2008-03-05 11:01 |
| 初级用户 发帖 8 积分 22 | |
Originally posted by pooronce at 2008-3-5 10:52 AM: Hi, 我也曾试过用延迟,出来的结果是: 1234567890!test!1234567890 |
|
| 第4楼 pooronce | 发表于 2008-03-05 11:42 |
| 中级用户 发帖 250 积分 484 | |
|
你自己确认一下,哪里打错了啥的:
F:\pe>test F:\pe>setlocal enabledelayedexpansion F:\pe>set text=1234567890#test#1234567890 F:\pe>set test=testing F:\pe>echo 1234567890!test!1234567890 1234567890testing1234567890 |
|
| 第5楼 unixShell | 发表于 2008-03-05 12:31 |
| 初级用户 发帖 8 积分 22 | |
Originally posted by pooronce at 2008-3-5 11:42 AM: 老兄,你那是直接echo吧, 要这样呢? |
|
| 第6楼 s11ss | 发表于 2008-03-05 12:33 |
| 银牌会员 发帖 566 积分 2,098 | |
| 第7楼 pooronce | 发表于 2008-03-05 15:12 |
| 中级用户 发帖 250 积分 484 | |
Originally posted by unixShell at 2008-3-5 12:31 PM: 问题不就已经结了,能echo了都 我知道你的疑问,你是想直接用而不是echo,那就再传递一次不就把%和!都剥光了啊 |
|
| 第8楼 unixShell | 发表于 2008-03-05 15:18 |
| 初级用户 发帖 8 积分 22 | |
Originally posted by pooronce at 2008-3-5 03:12 PM: 我是没能试成功, 执行: echo %text:#test#=!test!% 显示: 1234567890!test!1234567890 |
|
| 第9楼 pooronce | 发表于 2008-03-06 14:11 |
| 中级用户 发帖 250 积分 484 | |
|
谁叫你这样echo的,这样里面的变量才经过一次处理啊,当然!还在了
你可以再用个变量传递一次啊,没懂吗? 就是再把值赋给另外一个变量,然后再引用最后这个变量名用啊 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |