vbscript文本文件搜索具有多个字符串的行

时间:2012-10-17 08:43:04

标签: scripting vbscript

需要在下面的vbscript中进行小修改......

Const ForReading = 1

Dim strSearchFor, set1, set2
strSearchFor = "10/17/2012"
set1= app1

set2 =app2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("mylogfile.log", ForReading)

do until objTextFile.AtEndOfStream
    strLine = objTextFile.ReadLine()

    If InStr(strLine, strSearchFor and set1 or set2) <> 0 then

Wscript.Echo "we found current date with app1 or current date with app2"
    Else
        Wscript.Echo "We did not found current date"
    End If
loop
objTextFile.Close

我的实际mylogfile.log示例文件位于文本文件的下方。

working on 10/17/2012 starting something ending
closing on  started app1
working on 10/17/2012 starting something app1
working on 10/17/2012 starting something app2
closing on 10/17/2012 starting something ending

先谢谢你的宝贵时间..

1 个答案:

答案 0 :(得分:0)

If InStr(strLine, strSearchFor and set1 or set2) <> 0 then

这种方式不起作用。您只能为每个Instr电话搜索一个子字符串。

If InStr(strLine, strSearchFor) <> 0 and (InStr(strLine, set1) or InStr(strLine, set2)) then

此外,您的循环存在问题,您的脚本将回显您无法满足条件的每一行。使用标记或类似的东西来跟踪是否找到了该行并在结尾显示错误。