![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 18:12 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何选择一组变量中的某个值 |
| 可打印版本 794 / 10 |
| 第1楼 murong | 发表于 2007-12-04 23:41 |
| 初级用户 发帖 17 积分 46 | |
|
如何选择一组变量中的某个值 如何选择一组变量中的某个值,就是输入的字符与变量库中的比较,例如:
@echo off set in=a b c set /p input=输入: if /i "%input%"=="%in%" echo Yes if /i not %input%=="%in%" echo No pasue 上面的命令,比如我输入a,b,c 3个中那个就显示Yes,输入别的就显示No |
|
| 第2楼 lxmxn | 发表于 2007-12-05 00:02 |
| 版主 发帖 4,938 积分 11,386 | |
| 第3楼 murong | 发表于 2007-12-05 00:12 |
| 初级用户 发帖 17 积分 46 | |
Originally posted by lxmxn at 2007-12-5 12:02 AM: 能否详细的解释下是怎么得到变量的过程 在前面的in不是就等于 a b c吗 |
|
| 第4楼 lxmxn | 发表于 2007-12-05 00:19 |
| 版主 发帖 4,938 积分 11,386 | |
|
这个是用你输入的字符和in里面的每个以空格分割的元素进行比较,如果相等,则显示“Yes”,否则显示“NO”。
|
|
| 第5楼 murong | 发表于 2007-12-05 00:29 |
| 初级用户 发帖 17 积分 46 | |
|
OK,谢谢恢复,已经明白了,也就是这种在组内取值必须用for才能完成。不像Linux下的if
|
|
| 第6楼 lxmxn | 发表于 2007-12-05 00:31 |
| 版主 发帖 4,938 积分 11,386 | |
|
Linux 下的if是怎么判断的呢?
|
|
| 第7楼 murong | 发表于 2007-12-05 00:40 |
| 初级用户 发帖 17 积分 46 | |
|
lxmxn能否加你的QQ问些别的问题
|
|
| 第8楼 murong | 发表于 2007-12-05 00:42 |
| 初级用户 发帖 17 积分 46 | |
Originally posted by murong at 2007-12-5 12:12 AM: 如果我把 a b c 些在for的()里,是不是不行啊。 那么取得的值就是最后一个c,不知道对不对? |
|
| 第9楼 murong | 发表于 2007-12-05 00:46 |
| 初级用户 发帖 17 积分 46 | |
Originally posted by murong at 2007-12-5 12:12 AM: for %%a in (%in%) do if /i "%%a"=="%input%" echo Yes & goto end 为什么%%a在==前,如果%input%在==前是什么样? |
|
| 第10楼 murong | 发表于 2007-12-05 01:09 |
| 初级用户 发帖 17 积分 46 | |
Originally posted by lxmxn at 2007-12-5 12:02 AM: 这样是不是要有个变量延迟的设置啊 |
|
| 第11楼 lxmxn | 发表于 2007-12-05 04:08 |
| 版主 发帖 4,938 积分 11,386 | |
lxmxn能否加你的QQ问些别的问题 我QQ经常隐身了,加我的Gmail吧。lxmxn520@Gmail.com 。 如果我把 a b c 些在for的()里,是不是不行啊。 可以取到括号里面的每个值。 这样是不是要有个变量延迟的设置啊 这里不需要变量延迟,因为在for内部没有设置新的变量。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |