人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

(解決時にはお一人様1名に500ptお支払します)
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,-,-,不明,*******

●質問者: meichi
●カテゴリ:コンピュータ インターネット
✍キーワード:24 DD K-m MM test
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● fester
●500ポイント ベストアンサー

こちらでいかがでしょうか?

指定のフォルダにある最新のログファイルをチェックするようにしてあります。

完了の文字がある場合は成功と判断しています。


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

お手数かけますが、よろしくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ