![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 07:54 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 变量的变量??子程序中?? |
| 可打印版本 745 / 7 |
| 第1楼 bright2k | 发表于 2007-04-25 02:51 |
| 初级用户 发帖 8 积分 22 | |
|
变量的变量??子程序中?? set a=hello
set b=a echo %a% // 显示hello echo %b% // 显示a 请如何呢能通过b得到a的值, 即类似echo %%b%%,,显示hello 还有,在子程序中该如何处理呢? 例子见3楼 [ Last edited by bright2k on 2007-4-24 at 03:04 PM ] |
|
| 第2楼 lxmxn | 发表于 2007-04-25 03:03 |
| 版主 发帖 4,938 积分 11,386 | |
|
以“变量延迟”或者“SetLocal EnableDelayedExpansion”为关键字搜索一下论坛,应该就可以找到问题的解决办法。
下面这个是个示范: |
|
| 第3楼 bright2k | 发表于 2007-04-25 03:14 |
| 初级用户 发帖 8 积分 22 | |
|
那如果是在子程序里改如何处理呢?
比如: call :sub b :sub set %1=hello echo %1 // 显示b,如何能显示%b%,即hello? goto :eof |
|
| 第4楼 ansipeter | 发表于 2007-04-25 03:24 |
| 中级用户 发帖 130 积分 269 | |
| 第5楼 bright2k | 发表于 2007-04-25 04:15 |
| 初级用户 发帖 8 积分 22 | |
|
搞定了,嘿嘿
call :sub b :sub set %1=hello call echo %%%1%% goto :eof |
|
| 第6楼 bright2k | 发表于 2007-04-25 04:19 |
| 初级用户 发帖 8 积分 22 | |
|
又有新问题了,call里面不能用if等命令。。。。还要再写个子程序么??
|
|
| 第7楼 lxmxn | 发表于 2007-04-25 07:27 |
| 版主 发帖 4,938 积分 11,386 | |
|
Re bright2k:
call 后面接的标签的话,标签里面是可以用if命令的。 |
|
| 第8楼 flyinspace | 发表于 2007-04-25 07:36 |
| 银牌会员 发帖 517 积分 1,206 | |
|
呵呵,我也曾经碰到过这个问题呢。
后来无聊用到了 set /a 解决了这个问题。 然后又发现 若不是 数字的话会出问题。 然后研究了变量延迟才用和lxmxn一样的方法解决了问题。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |