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

このようには機能しません。呼び出しごとに 1 つの部分文字列のみを検索できInstrます。

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

また、ループに問題があります。スクリプトは、条件を満たさない行ごとにエコーします。フラグなどを使用して、行が見つかったかどうかを追跡し、最後にエラーを表示します。

于 2012-10-17T08:50:29.667 に答える