中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 18:03
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 如果获得文本中指定的数值?
可打印版本  962 / 10
第1楼 pykacha 发表于 2008-05-09 15:32
初级用户 发帖 73 积分 156
如果获得文本中指定的数值?
我在文本mingdan.txt中有如下内容
code name
12 ali
13 sam
14 jim
在批处理中让用户输入code的内容,即“12”,程序能从文本中找出相应的name对应的内容,即ali。并将其赋值给程序中的%name1%变量?
先多谢各位高手。
第2楼 slore 发表于 2008-05-09 15:43
铂金会员 发帖 2,478 积分 5,212
@echo off&setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2" %%i in (mingdan.txt) do Set C%%i=%%j
set /p code=输入编号:
echo !C%code%!
pause>nul
第3楼 bat-zw 发表于 2008-05-09 18:40
金牌会员 发帖 1,276 积分 3,105
请参考:
请楼主参考我这个贴子吧,相信你会有点收获的:http://www.cn-dos.net/forum/viewthread.php?tid=39662&fpage=1&highlight=%2Bzw19750516
第4楼 pykacha 发表于 2008-05-10 00:52
初级用户 发帖 73 积分 156
完全符合要求,只是看不懂。
谢谢各位前辈的热心指教,echo !C%code%!这里的!怎么理解?
第5楼 slore 发表于 2008-05-10 01:25
铂金会员 发帖 2,478 积分 5,212
set c14=XXX
set c15=xxx

echo !c14! (14就是你输入的编号)
第6楼 HAT 发表于 2008-05-10 01:28
版主 发帖 5,017 积分 9,023
Originally posted by pykacha at 2008-5-10 12:52 AM:
完全符合要求,只是看不懂。
谢谢各位前辈的热心指教,echo !C%code%!这里的!怎么理解?

搜索变量延迟扩展
第7楼 pykacha 发表于 2008-05-11 13:31
初级用户 发帖 73 积分 156
谢谢!!C%code%!也弄明白了。
我想再加多一个判断,如果在列表中查找不到所输入的编号,即输入不存在的编号时,就要求重新输入。
请问要怎样实现这个判断?
第8楼 huahua0919 发表于 2008-05-11 13:37
银牌会员 发帖 780 积分 1,608
if not defined C%%i goto start
第9楼 pusofalse 发表于 2008-05-11 13:47
银牌会员 发帖 646 积分 1,604
Originally posted by pykacha at 2008-5-11 01:31 PM:
谢谢!!C%code%!也弄明白了。
我想再加多一个判断,如果在列表中查找不到所输入的编号,即输入不存在的编号时,就要求重新输入。
请问要怎样实现这个判断?


@echo off&setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2" %%i in (mingdan.txt) do Set C%%i=%%j
:1
set /p code=输入编号:
if defined c%code% (echo !C%code%!) else echo 编号不存在。
pause>nul
goto 1
把slore前辈的代码稍作修改就OK了
第10楼 pykacha 发表于 2008-05-12 09:01
初级用户 发帖 73 积分 156
多谢各位前辈指导啊!
会的人稍作修改就行了,不会的人大改特改也不行:)
第11楼 woo88 发表于 2008-05-25 21:53
初级用户 发帖 96 积分 188
支持
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023