Vbscript 用vb查找.txt文件中的最后一个(重复)字符串
(我对Vbscript 用vb查找.txt文件中的最后一个(重复)字符串,vbscript,Vbscript,(我对vb相当陌生,但熟悉vba) 我试图找出如何从下到上读取文本文件,如下所示: 文本文件在“x”时间段内更新;正在添加的行, 我需要找到最后一个条目“line”,它包含文本“System Pass”。但是,在文件的最后一行和包含所需字符串的最后一行之间有许多不必要的“转储”行 使用excel,我可以导入文本文件并循环从底部开始的行,并使用inStr函数确定是否有正确的字符串行。但这不起作用,或者我只是不知道如何将代码转换为vb 非常感谢您的帮助。 谢谢 Philippe我建议使用Excel导
vb
相当陌生,但熟悉vba
)
我试图找出如何从下到上读取文本文件,如下所示:
文本文件在“x”时间段内更新;正在添加的行,
我需要找到最后一个条目“line”,它包含文本“System Pass”。但是,在文件的最后一行和包含所需字符串的最后一行之间有许多不必要的“转储”行
使用excel,我可以导入文本文件并循环从底部开始的行,并使用inStr
函数确定是否有正确的字符串行。但这不起作用,或者我只是不知道如何将代码转换为vb
非常感谢您的帮助。
谢谢
Philippe我建议使用Excel导入数据,您可以使用库,使用NPOI您可以轻松地在.NET中读取Excel文件 编辑:
使用VB读取txt文件:以下是一个示例,说明如何将txt文件读取到数组中,并使用instr从下到上轮询以搜索文本:
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\temp\test.txt", ForReading)
strText = objTextFile.ReadAll
objTextFile.Close
MyArray = Split(strText, vbCrLf)
For X = Ubound(MyArray) to lbound(MyArray) step -1
If instr(1,MyArray(X),"T") > 0 then
Wscript.Echo MyArray(X)
End if
Next
我的测试文件包含以下内容:
hello
World
This
Is
Text
VBS文件弹出两个消息框,一个是“Text”,另一个是“This”
如果需要,可以将其调暗:
Dim objFSO
Dim objTextFile
Dim X
Dim MyArray
但是VBS不支持类型,所以不要尝试Dim X那么长或类似的东西
希望这有帮助嗨,谢谢你的及时回复。但是我无法使用excel导入数据。嗨,丹,非常感谢,这似乎确实起到了作用。你知道如何加速代码吗?因为这个文件包含65k+行。如果你只想要它的最后一个实例,你可以把EXIT FOR放在if里面,这样它在找到你的字符串后就会跳出循环。