Board logo

标题: 怎么读取配置文件的指定行的数据给变量赋值? [打印本页]

作者: mcubird     时间: 2009-1-19 11:48    标题: 怎么读取配置文件的指定行的数据给变量赋值?
自己写了一个批处理,现在是手工修改变量的参数。
想做一个配置文件,通过批处理将参数赋值给变量,怎么处理比较好?
最好能有外部工具,因为配置文件很长,用for的话会很臃肿..........
谢谢了先

作者: exzzz     时间: 2009-1-19 11:53
用for不会臃肿吧?

配置文件里面每一行都是需要设置的变量么?

作者: mcubird     时间: 2009-1-19 11:58
不是每一行都是参数......

作者: exzzz     时间: 2009-1-19 12:10
如果文件不涉及机密,建议贴上来作为附件,然后列明要求,不然看的人会一头雾水的。。。

作者: netbenton     时间: 2009-1-19 12:23    标题: 取文件指定行
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 ]

作者: mcubird     时间: 2009-1-19 12:23
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

作者: mcubird     时间: 2009-1-19 12:46
谢谢5L的,我去试试看