0

アプリケーションによって生成されたテキスト ファイルがあります。このファイルは「ErrorLog.log」と呼ばれます。

ログには次のように表示されます (1 日あたり最大 300 レコードが入力されます)。

バージョン 3.10
ファイルが見つかりません
合計 0 メッセージが読み取られました
送信されたメッセージの合計: 0 \ 受信されたメッセージの合計: 0
最後に接続されたのは 08\20\2013 の 08:17:50 でした
バージョン 3.10
ファイルが見つかりません
合計 0 のメッセージが読み取られました
送信されたメッセージの合計: 0 \ 受信したメッセージの合計: 0
最後に接続したのは 08\20\2013 の 08:20:14 でした
バージョン 3.10
ファイルが見つかりません
合計 0 のメッセージを読み取りました
送信したメッセージの合計: 0 \ 受信したメッセージの合計: 0
最後に接続したのは 08\20です\2013 08:30:14

私が本当に必要としているのは、ファイル内の「Total Messages Received」の合計を取得することです。ファイルには、ファイルの終わりのテキストなどがあります。

次に、その番号を取得して、次のようにします。

  1. TransactionsDaily.txt という既存のファイルに書き込みます。
  2. 「x 件のメッセージが 2013 年 8 月 20 日に処理されました。」というメッセージを私のチームにメールで送信します。
4

1 に答える 1

0

次のようなことを試してください:

Set fso = CreateObject("Scripting.FileSystemObject")

Set re = New RegExp
re.Pattern = ".* Total Messages Received: (\d+)$"
re.IgnoreCase = True

msgCount = 0

Set f = fso.OpenTextFile("C:\path\to\ErrorLog.log")
Do Until f.AtEndOfStream
  line = f.ReadLine
  If re.Test(line) Then msgCount = msgCount + CInt(re.Replace(line, "$1"))
Loop
f.Close

WScript.Echo msgCount
于 2013-08-21T11:08:25.193 に答える