楼 主
怎么读取配置文件的指定行的数据给变量赋值?
发表于 2009-01-19 11:48 · 中国 湖北 武汉 电信
初级用户
★
积分 40
发帖 17
注册 2008-08-27 16:32
17年会员
UID 124308
性别 男
状态 离线
自己写了一个批处理,现在是手工修改变量的参数。
想做一个配置文件,通过批处理将参数赋值给变量,怎么处理比较好?
最好能有外部工具,因为配置文件很长,用for的话会很臃肿..........
谢谢了先
第 2 楼
发表于 2009-01-19 11:53 · 中国 广东 深圳 福田区 电信
初级用户
★★
游手好闲 + 无所事事 ..
积分 194
发帖 167
注册 2007-04-30 09:43
19年会员
UID 87022
性别 男
状态 离线
用for不会臃肿吧?
配置文件里面每一行都是需要设置的变量么?
第 3 楼
发表于 2009-01-19 11:58 · 中国 湖北 武汉 电信
初级用户
★
积分 40
发帖 17
注册 2008-08-27 16:32
17年会员
UID 124308
性别 男
状态 离线
第 4 楼
发表于 2009-01-19 12:10 · 中国 广东 深圳 福田区 电信
初级用户
★★
游手好闲 + 无所事事 ..
积分 194
发帖 167
注册 2007-04-30 09:43
19年会员
UID 87022
性别 男
状态 离线
如果文件不涉及机密,建议贴上来作为附件,然后列明要求,不然看的人会一头雾水的。。。
第 5 楼
取文件指定行
发表于 2009-01-19 12:23 · 中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
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 楼
发表于 2009-01-19 12:23 · 中国 湖北 武汉 电信
初级用户
★
积分 40
发帖 17
注册 2008-08-27 16:32
17年会员
UID 124308
性别 男
状态 离线
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 楼
发表于 2009-01-19 12:46 · 中国 湖北 武汉 电信
初级用户
★
积分 40
发帖 17
注册 2008-08-27 16:32
17年会员
UID 124308
性别 男
状态 离线
论坛跳转: