-1

アラート log.txt から (文字列) "ERROR" を見つけるには VB が必要です。アラート log.txt にエラー文字列がある場合、その特定のログを別の指定された場所に移動する必要があります。VBはまったく初めてなので、助けてください....

これは私が使用したコードです(ググった)..

Option Explicit 
'* 
Const ForWriting = 8

'* 
Dim strGFI, objFSO1, objOutputFile 
Dim strOTF, MyString, objFileSystem 
Dim strWSE, strWritePath, objFile 
Dim strInput, cFOL, StrDirectory

'* 
cFOL = "C:\temp\"
strInput = Inputbox("Enter the text you would like to search for.")

MyString = "Workstation"
strWritePath = "c:\text" & MyString & ".txt"
strDirectory = "C:\temp\"

Set objFSO1 = CreateObject("Scripting.FileSystemObject")

If objFSO1.FileExists(strWritePath) Then
  'Wscript.Echo "The file Exists" 
Else
  Set objFile = objFSO1.CreateTextFile(strDirectory & MyString & ".txt")
  objFile = ""
End If

Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set objOutputFile = objFileSystem.OpenTextFile(strDirectory & MyString & ".txt", ForWriting)

If cFOL > "" Then
  If strInput > "" Then
    Dim objFSO 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    Dim objGFO 
    Set objGFO = objFSO.GetFolder(cFOL) 
    Dim objGFI 
    Set objGFI = objGFO.Files 
    For Each strGFI in objGFI 
      Dim objOTF 
      Set objOTF = objFSO.OpenTextFile(cFOL & "\" & strGFI.Name,1) 
      Do While Not objOTF.AtEndOfStream 
        strOTF = objOTF.ReadAll() 
      Loop 
      objOTF.Close() 
      Set objOTF = Nothing 
      '* 
      If  InStr(LCase(strOTF), strInput) > 0 Then 
        strWSE = strWSE & strGFI.Name & " contains " & strInput & vbCrLf
      Else 
        strWSE = strWSE & strGFI.Name & " Does not contain: " & strInput & vbCrLf 
      End If 
    Next 
    objOutputFile.WriteLine(strWSE)
    objOutputFile.Close

    '* 
    Set objGFI = Nothing 
    Set objGFO = Nothing 
    Set objFSO = Nothing
    Set objFileSystem = Nothing
    Set objFSO1 = Nothing

    '* 
    WScript.Echo strWSE
  Else
    Wscript.Echo "You Clicked Cancel or no search string was defined."
  End If
Else
  Wscript.Echo "You Clicked Cancel or no search path was defined."
  WScript.Quit
End If

ここでは、識別される d 文字列を動的に要求します。静的にしたい。

4

1 に答える 1

0

入力はユーザーからのものであるため、ユーザーテキストが存在するかどうかを確認するテストで小文字が使用されているため、小文字に変換する必要があります。

そのため、次の行を変更します。

If  InStr(LCase(strOTF), strInput) > 0 Then 

If  InStr(LCase(strOTF), LCase(strInput)) > 0 Then 
于 2013-04-27T23:22:56.787 に答える