oeminfo.ini 新添尾行问题
本帖最后由 suntech 于 2011-10-20 15:26 编辑主要是要获取 C:\WINDOWS\system32\oeminfo.ini提取下最后的Line的编号
Line是不固定的,可能10或20或其他数字。
这段内容格式如下:
Line1=本系统仅用于研究与测试Windows系统安装盘结构和安装技术。
Line2=
Line3=专业的技术,虔诚为您服务!
Line4=----------------------------------------
Line5=
Line6=官方网站
Line7=----------------------------------------
Line8=
Line9=
Line.....不确定行数,但都是前行 +1下来的
要实现最有效的方法读取 C:\WINDOWS\system32\oeminfo.ini并获取最后的Line 编号(例如 BH=15),新添加一个比编号多一的行(如 Line16) Local $Str = _
'Line1=' & @CRLF & _
'...' & @CRLF & _
'Line14=' & @CRLF & _
'Line15=' & @CRLF
Local $Test = StringRegExp($str, '(\d+)=', 3)
If Not @Error Then MsgBox(0, '最后数字', $Test)
#include <file.au3>
$lines=_FileContLines("file path")
MsgBox("","total lines"&$lines,$lines+1)
do not just copy 主要是要获取 C:\WINDOWS\system32\oeminfo.ini提取下最后的Line的编号
Line是不固定的,可能10或20或其他数字 本帖最后由 gzh888666 于 2011-10-20 00:05 编辑
主要是要获取 C:\WINDOWS\system32\oeminfo.ini提取下最后的Line的编号
Line是不固 ...
suntech 发表于 2011-10-19 22:41 http://www.autoitx.com/images/common/back.gif
### 友情提示:本脚本由 Au3.REHelper 于 2011/10/19 23:18 自动生成,不保证其正确性,请自行测试 ###
#include <Array.au3>
Local $Str = _
'Line1=本系统仅用于研究与测试Windows系统安装盘结构和安装技术。' & @CRLF & _
'Line2=' & @CRLF & _
'Line3=专业的技术,虔诚为您服务!' & @CRLF & _
'Line4=----------------------------------------' & @CRLF & _
'Line5=' & @CRLF & _
'Line6=官方网站' & @CRLF & _
'Line7=----------------------------------------' & @CRLF & _
'Line8=' & @CRLF & _
'Line9=' & @CRLF & _
'Line10='
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '(?s)(?i)line(\d+?)=.*$', 1)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
本帖最后由 lixiaolong 于 2011-10-19 23:40 编辑
回复 4# suntech Local $Str = _
'' & @CRLF & _
'Manufacturer=fee' & @CRLF & _
'Model=eef' & @CRLF & @CRLF & _
'' & @CRLF & _
'Line1=' & @CRLF & _
'Line2=aaaa' & @CRLF & _
'Line3=bbbb' & @CRLF & _
'Line4=' & @CRLF & _
'Line5=' & @CRLF & _
'Line55=' & @CRLF & _
'Line33='
MsgBox(0, '', $Str)
Local $Test = StringRegExp($str, '(?s)(?i)\.+(line\d*)=.*$', 3)
If Not @Error Then MsgBox(0, 'Line',$Test)
Local $Test = StringRegExp($str, '(?s)(?i)\.+line(\d*)=.*$', 3)
If Not @Error Then MsgBox(0, 'Line',$Test) fileopen('oeminfo.ini', 1)? 回复 7# netegg
Fileopen 是最后做的事,现在要做的就是获取最后的Line的编号BH,Fileopen加入编号+1的Line(BH+1)的一行 回复 8# suntech
参数1就是接着写啊,管你原来有多少行 早贴出比较完整的ini文件可能大家早就帮你解决了。
几个人都贴出了代码,LZ应该积极测试及反馈,那样也早就解决了。 回复 9# netegg
但Line的编号一定是前一行加1 如果跳行了在我的电脑属性里头是不会显示的 回复 10# afan
大佬好,主要是要获取 C:\WINDOWS\system32\oeminfo.ini提取下最后的Line的编号,不是Array 固定的内容。 回复 12# suntech
我这根本没这字段。
你应该截取部分可以用来测试的 且要说明是否还有别的字段含有Line*关键字 回复 14# afan
这是一个例子,Line 可能10或20或更多,也就是要获取到最后LineX 的编号。
页:
[1]
2