中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 06:47
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎么读取配置文件的指定行的数据给变量赋值?
可打印版本  969 / 6
第1楼 mcubird 发表于 2009-01-19 11:48
初级用户 发帖 17 积分 40
怎么读取配置文件的指定行的数据给变量赋值?
自己写了一个批处理,现在是手工修改变量的参数。
想做一个配置文件,通过批处理将参数赋值给变量,怎么处理比较好?
最好能有外部工具,因为配置文件很长,用for的话会很臃肿..........
谢谢了先
第2楼 exzzz 发表于 2009-01-19 11:53
初级用户 发帖 167 积分 194
用for不会臃肿吧?

配置文件里面每一行都是需要设置的变量么?
第3楼 mcubird 发表于 2009-01-19 11:58
初级用户 发帖 17 积分 40
不是每一行都是参数......
第4楼 exzzz 发表于 2009-01-19 12:10
初级用户 发帖 167 积分 194
如果文件不涉及机密,建议贴上来作为附件,然后列明要求,不然看的人会一头雾水的。。。
第5楼 netbenton 发表于 2009-01-19 12:23
银牌会员 发帖 752 积分 1,916 来自 广西
取文件指定行
call :sub
...
...
goto :eof
:sub
for /f "skip=行数" %%a in ('文件') do (set var=%%a&goto :eof)
::这样可以取一行


set n=1
for /f "skip=行数" %%a in ('文件') do (set /a n+=1&set var!n!=%%a&if !n!=4 goto :eof)
::这样可以取指定行后的连续4行



另外如果有多行:如1 55 88 1223...需要处理,
可以先把相应的行存成变量,set /a n+=1&if !n!==55 set "_var!n!=%%a"
再for /f %%a in ('set _var') do (进行操作...)
或 !_var55! !_var88! !_var1223!就是指定行的内容了

[ Last edited by netbenton on 2009-1-19 at 12:42 ]
第6楼 mcubird 发表于 2009-01-19 12:23
初级用户 发帖 17 积分 40
gawk "$3 == 34" val | gawk "/False/ {print $1,$2}" | gawk "$1 > %GeneralLowerLimit% && $1 < %GeneralUpperLimit%" | gawk -f ArithMetic.txt >> Results.txt

这个是处理程序中的一段,其中%GeneralLowerLimit%和%GeneralUpperLimit%是需要用户自己配置的参数,现在是在bat里让用户修改,我想做一个配置文本文件。

配置文件如下:
#GeneralLowerLimit
11

#GeneralUpperLimit
698
第7楼 mcubird 发表于 2009-01-19 12:46
初级用户 发帖 17 积分 40
谢谢5L的,我去试试看
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023