中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何读出多个选项的设定值再赋给变量
作者:
标题: 如何读出多个选项的设定值再赋给变量 上一主题 | 下一主题
merryzhao
新手上路





积分 9
发帖 9
注册 2009-2-15
状态 离线
『楼 主』:  如何读出多个选项的设定值再赋给变量

有一个如下格式的.txt文件(共6项): Name=zhoulei Age=12 Grade=six ... 想用批处理将这些选项的设定值分别读出,即: set var1=zhoulei set var2=12 set var3=six ... 再做进一步处理。 我查看批处理的帮助,觉得应该用批处理For命令,但不知该如何实现。 希望大家指点,谢谢!


2009-2-16 11:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pooronce
中级用户





积分 484
发帖 250
注册 2007-6-5
状态 离线
『第 2 楼』:  

@setlocal enabledelayedexpansion for /f "tokens=2 delims==" %%i in (如下格式的.txt) do ( set /a nb+=1 set var!nb!=%%i ) echo %var1% echo %var2% ...


2009-2-16 11:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
merryzhao
新手上路





积分 9
发帖 9
注册 2009-2-15
状态 离线
『第 3 楼』:  

谢谢pooronce的帮助! 1.
set var!nb!=%%i
我查了一下只找到批处理符号有:. >> > < & && | || ^ * % @ ,所以请问符号!的作用? 2.由于提问时的疏忽,我漏掉2个应注意的问题,原.txt文件为分两部: (第一部分, ;后为注释) Name=zhoulei ;姓名 Age=12 ;年龄 Grade=six :年级 ... (第二部分,以下为老师对zhoulei 的评语) ... 请问如何在pooronce方法的基础上,如何只取出zhoulei,12等信息,忽略掉注释及第二部分的评语。


2009-2-16 12:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pooronce
中级用户





积分 484
发帖 250
注册 2007-6-5
状态 离线
『第 4 楼』:  

for /f "tokens=2 delims== " %%i in (如下格式的.txt) do ( 多加一个空格(或再多一个TAB符),就能把后面断开了 !在这里是延迟之后替代%取变量值的 到cmd下看看帮助吧: setlocal /?


2009-2-16 13:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
merryzhao
新手上路





积分 9
发帖 9
注册 2009-2-15
状态 离线
『第 5 楼』:  

pooronce的方法很好,谢谢!!! 不过,在使用中还发现一个问题: 如果有某一项没有数据,则会将下一项的数据读到本项,导致后面所有选项提前一项, 例如: Name=zhoulei Age=12 Award= Grade=six Sex=M ... 经批处理读取后,为: var1=zhoulei var2=12 var3=six ;第三项本为空 var4=M ;第四项本为six var5= ;第五项本为M ... 另: 在帮助setlocal /?下并没有符号!的说明。 谢谢!


2009-2-16 22:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  Re 5楼

关于!和!!的讲解,参考:CMD/DOS下符号的作用参考 www.cn-dos.net/forum ... 或者本版搜索“变量延迟”




2009-2-17 11:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: