我有一個獨特的ID放在日誌文件中,我可以搜索文件並獲得它,一旦我找到需要的文件中的唯一ID在這個唯一的ID後面找到另一個字符串(命名爲字符串2)並複製字符串2的下一行。在日誌文件中找到一個字符串,並在第一個字符串後搜索另一個字符串
請在下面找到我的功能,並請建議如何做到這一點。
Func getAuthResponse($LogfilePath, $AuthRespFilePath, $UniqueId, $search)
Global $iLine = 0, $sLine = ''
Global $hFile = FileOpen($LogfilePath)
If $hFile = -1 Then
MsgBox(0,'ERROR','Unable to open file for reading.')
Exit 1
EndIf ;If $hFile = -1 Then
; find the line that has the search string
While 1
$iLine += 1
$sLine = FileReadLine($hFile)
If @error = -1 Then ExitLoop
; finding the unique id in the log file
;ConsoleWrite($UniqueId & @LF)
If StringInStr($sLine, $UniqueId) Then
ConsoleWrite($sLine & @LF)
; assuming that unique id is found , now finding the phrase Auth response is as follow : after the unique id
$sNewLine = $sLine+
If StringInStr($sLine, $search) Then
ConsoleWrite($sLine & @LF)
//// SOME LOGIC ////
ExitLoop
EndIf ;If StringInStr($sLine, $search) Then
ExitLoop
EndIf ;If(StringInStr($sLine, $UniqueId) Then
WEnd ;While 1
FileClose($hFile)
EndFunc
它不適合我的工作。 –
這不是很有幫助。什麼不行?哪些代碼會出錯。這段代碼沒有經過測試,我只是把它做得很快。 – IkeRoyle