0

需要在下面的 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

谢谢..提前您宝贵的时间..

4

1 回答 1

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

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

于 2012-10-17T08:50:29.667 回答