http://q.hatena.ne.jp/1242886505の関連なのですが、
ARCServeのジョブレポート機能を使用して、毎日
Daily Backup Status Report_data_ホスト名_YYYY-MM-DD-o'clock-minutes-seconds.txt
上記のファイルで作成されていきます。
この日別に作成されるファイルの内容を参照し、バックアップが完了なら
同一セグメントのWindowsXP端末に バックアップが成功しました と
MsgBoxで表示し、
バックアップが失敗なら 同様に バックアップは失敗しました と
MsgBoxで表示させたいのですが、そのVBSをお願いできないでしょうか。
参考にバックアップが成功した時と失敗した時のtxtを下記に示します。
(バックアップが成功したとき)
バックアップ ステータス レポート (日単位)
2009-05-25 17:37:10
過去24時間に実行されたバックアップ ジョブのステータス サマリを表示します。
-,2,バックアップ,1,完了,2009-05-25 16:02:46,\\******,C:\TEST,完了,******
(バックアップが失敗した時)
バックアップ ステータス レポート (日単位)
2009-05-25 17:37:10
過去24時間に実行されたバックアップ ジョブのステータス サマリを表示します。
-,17,バックアップ,16,失敗,2009-05-25 16:43:52,-,-,不明,*******
こちらでいかがでしょうか?
指定のフォルダにある最新のログファイルをチェックするようにしてあります。
完了の文字がある場合は成功と判断しています。
Option Explicit Const TARGETFOLDER = "D:\ARCServeBackup" '←ここを変える。ログのフォルダ Const FILEPREFIX = "Daily Backup Status Report_data_" 'ファイル名のパターン Const ForReading = 1, ForWriting = 2, ForAppending = 8 Const TITLE = "ARCServeのバックアップ" '最新のファイルを探す Dim fso, folder, file Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(TARGETFOLDER) Dim prefixLen Dim lastDate '作成日 Dim lastFile '新いファイル prefixLen = Len(FILEPREFIX) lastDate = CDate(0) lastFile = "" For Each file In folder.Files If Left(file.Name,prefixLen) = FILEPREFIX Then Dim d, f d = file.DateCreated f = file.Name If CDate(lastDate) < CDate(d) Then lastDate = d lastFile = f End If End If Next If lastFile = "" Then MsgBox "ARCServeのバックアップログがありません。", vbExclamation, TITLE Set fso = Nothing WScript.Quit End If 'ファイルを開いてチェック Dim strALL Set file = fso.OpenTextFile( TARGETFOLDER & "\" & lastFile, ForReading ) strALL = file.ReadAll file.Close Set fso = Nothing If InStr(strALL,"完了") > 0 Then MsgBox "バックアップに成功しました" & vbCrLf & vbCrLf & lastFile, vbInformation, TITLE Else MsgBox "バックアップは失敗しました" & vbCrLf & vbCrLf & lastFile, vbCritical, TITLE End If
本当にありがとうございます。m(_ _)m さっそく確認してみます。
fester様 まことにすみませんが、お客様から説明を求められる
かもしれませんので、コメント覧にもう少し詳しく注釈をお願い
できますでしょうか。当方プログラムに関しては さっぱり です。
すいませんが、よろしくお願いします。
確認しました。最新のログファイルを参照するように ということ
ですが、動かしたところ日付の古いファイルから参照していました。
すいません、私txtファイルといいましたがcsvファイルでした。
ログファイルの日付ですが、例をあげますと下記のようになります。
・Daily Backup Status Report_data_hostname_2009-05-24-17-37-10.csv
・Daily Backup Status Report_data_hostname_2009-05-25-17-37-10.csv
お手数かけますが、よろしくお願いします。