VBS读取文本文件内容相关,请教各位师傅!

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:09:38
我需要利用VBS提取文件“config.txt”中第5个字以后的内容(数字)。
例如:“1.vbs”
Dim objfs
Dim s
Set objfs=CreateObject("scripting.filesystemobject")
Set objf=objfs.OpenTextFile("config.txt",1,False)
objf.SkipLine()
objf.Skip(5)
s=objf.Read(1)

'不知道上述表达哪里没对

“config.txt”内容如下:
收入:10000 (第一行“收入:”以后的内容,为VBS需要提取的内容)
如果我其他程序段要调用这个文本中获取的值S,需要如何表达呢?
比如:(随便举个例,写入注册表)
Shell.RegWrite "HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel\homepage","(S的值)"

objf.SkipLine '跳过一行,"收入:10000"如果是在第一行,肯定读不到了

objf.Skip(5) '跳过5个字符,"收入:"合起来是3个字符(宽字符),跳过5个,数值肯定不对了,除非前面有空格之类的其他字符

objf.Read(1) '这是读取一个字符,比如读入一个"1"

如果config.txt第一行内容就是"收入:10000"

Dim objfs
Dim s
Set objfs=CreateObject("scripting.filesystemobject")
Set objf=objfs.OpenTextFile("config.txt",1,False)
s=objf.ReadLine '读入一行
s=right(s,len(s)-3) '取三个字符后所有字符
objf.Close
set objf=nothing
set objfs=nothing

在VBS里面,"收入:"是3个字!应该是objf.Skip(3)。而且你后面这里应该用s=objf.Read(5)。objf.Read需要指定字符数,推荐使用下面这个方法:

Dim objfs
Dim s
Set objfs=CreateObject("scripting.filesystemobject")
Set objf=objfs.OpenTextFile("config.txt",1,False)
s=objf.ReadLine
s=right(s,len(s)-3)'也可以用s=mid(s,4,len(s))