[VBS] 스크립트로 단일 임계값 비교가 아닌 다수의 임계값 비교가 필요한 경우 Etc.2011. 7. 29. 18:50
스크립트로 단일 임계값 비교가 아닌 다수의 임계값 비교가 필요한 경우 VBS VBScript
파일로 이전 수집 값을 기록했다가 샘플링 횟수와 임계치 비교
예를 들면, 5회 수집 후 5회 연속 임계값 초과 시 등등
' 파라미터로 비교 횟수, 임계값 제공
Set oArgs = WScript.Arguments
MonCount = oArgs(0)
Threshold = oArgs(1)
' 로그 파일 위치
strLogFile = "C:\TEST.Log"
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strLogFile) Then
Else Set objTextFile = objFSO.CreateTextFile(strLogFile)
End If
' 값 가져오는 로직 추가
' CurTemp = XXXX
On Error Resume Next
Set objTextFile = objFSO.OpenTextFile(strLogFile, ForReading)
FirstLine = objTextFile.ReadLine & CurTemp & "|"
If Err.Number <> 0 Then
FirstLine = CurTemp & "|"
End If
arrTemp = Split(FirstLine,"|")
If cInt(UBound(arrTemp)) > cInt(MonCount) Then
FirstLine = ""
For i=0 To MonCount-2
arrTemp(i) = arrTemp(i+1)
FirstLine = FirstLine & arrTemp(i) & "|"
Next
FirstLine = FirstLine & CurTemp & "|"
End If
Set objTextFile = objFSO.OpenTextFile(strLogFile, ForWriting)
objTextFile.Write(FirstLine)
objTextFile.Close
Set objFSO = Nothing
' 임계치 비교
arrTemp = Split(FirstLine,"|")
OverCount = 0
For i =0 To Ubound(arrTemp)-1
If cInt(arrTemp(i)) > cInt(Threshold) Then
OverCount = OverCount + 1
End If
Next
If cInt(OverCount) > 0 Then
WScript.Echo "샘플링 수: "& MonCount & ", 초과 수: " & OverCount
Else WScript.Echo "임계값 초과 안 함"
End If