标题: 如果获得文本中指定的数值?
[打印本页]
作者: pykacha
时间: 2008-5-9 15:32
标题: 如果获得文本中指定的数值?
我在文本mingdan.txt中有如下内容
code name
12 ali
13 sam
14 jim
在批处理中让用户输入code的内容,即“12”,程序能从文本中找出相应的name对应的内容,即ali。并将其赋值给程序中的%name1%变量?
先多谢各位高手。
作者: slore
时间: 2008-5-9 15:43
@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
作者: bat-zw
时间: 2008-5-9 18:40
标题: 请参考:
请楼主参考我这个贴子吧,相信你会有点收获的:
http://www.cn-dos.net/forum/view ... light=%2Bzw19750516
作者: pykacha
时间: 2008-5-10 00:52
完全符合要求,只是看不懂。
谢谢各位前辈的热心指教,echo !C%code%!这里的!怎么理解?
作者: slore
时间: 2008-5-10 01:25
set c14=XXX
set c15=xxx
echo !c14! (14就是你输入的编号)
作者: HAT
时间: 2008-5-10 01:28
Quote: |
Originally posted by pykacha at 2008-5-10 12:52 AM:
完全符合要求,只是看不懂。
谢谢各位前辈的热心指教,echo !C%code%!这里的!怎么理解? |
|
搜索变量延迟扩展
作者: pykacha
时间: 2008-5-11 13:31
谢谢!!C%code%!也弄明白了。
我想再加多一个判断,如果在列表中查找不到所输入的编号,即输入不存在的编号时,就要求重新输入。
请问要怎样实现这个判断?
作者: huahua0919
时间: 2008-5-11 13:37
if not defined C%%i goto start
作者: pusofalse
时间: 2008-5-11 13:47
Quote: |
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了
作者: pykacha
时间: 2008-5-12 09:01
多谢各位前辈指导啊!
会的人稍作修改就行了,不会的人大改特改也不行:)
作者: woo88
时间: 2008-5-25 21:53
支持