#include #include #include #include #include ;Variables definition $search_No_Version = "Es konnte keine Version aus dem Interface ermittelt werden." $searchVersion ="Das verbundene Interface hat die Version" $searchVersion_MDU = "MDU - Ver" $search_No_Interface = "Anzahl der USB-Geraete : 0" $search_Error = "Fehler bei Ausführung von Kommando" $search_Script_Error = "Die Ausführung einer Skriptfunktion hat einem Fehler" $search_Update_Error = "Fehler beim Aufspielen des Updates" $search_Incorrect_DUD = "entspricht nicht dem vorgegebenen XML-Schema" $search_Incorrect_VariantenProgrammierung = "Es wurde kein geeignetes Update gefunden" $search_UserAbort = "Abbruch durch den Benutzer" Global $search = " " Global $file_content_array[] Global $stringToSearch = " " ;File extraction RunWait(".\Files\7z.exe -y x C:\XYZ\XYZ\support\Supportfiles.zip -oc:\Temp\Test") Global $ArrayOfFiles[5]=["c:\TEMP\Test\XYZ.log", "c:\TEMP\Test\XYZ.log.1", "c:\TEMP\Test\XYZ.log.2", "c:\TEMP\Test\XYZ.log.3", "c:\TEMP\Test\XYZ.log.4"] ;Rows count ;$count=_FileCountLines($file) ;MsgBox($MB_OK, "title",$count) Dim $searchResultArray[0] Dim $searchResultMVerArray[0] Dim $searchJoin[0] ;Program execution for $i=0 To UBound($ArrayOfFiles) - 1 $file = $ArrayOfFiles[$i] Global $content_array = FileReadToArray($file) _ArrayDisplay($content_array) If @error Then MsgBox($MB_OK, "", "There was an error reading the file. @error: " & @error) EndIf FileSearch($content_array, $search) Folder_Search_Test() Online_Activation_Search($content_array) ;FileSearch2($content_array, $search) ;$searchResultArray=SearchJoin($searchResultMVerArray, $searchResultArray) _Sort($searchResultArray) _ArrayDisplay($searchResultArray, "Sorted") FileWriting($file) Next ;File search Func FileSearch($file_content_array, $stringToSearch) $j=0 For $i = 0 To UBound($file_content_array) - 1 $search_result=StringInStr($file_content_array[$i],$stringToSearch) If $search_result<>0 Then ReDim $searchResultArray[UBound($searchResultArray) + 1] $searchResultArray [$j] = $file_content_array[$i] $j+=1 EndIf Next Return $searchResultArray EndFunc Func FileSearch2($file_content_array, $searchVersion) $j=0 For $i = 0 To UBound($file_content_array) - 1 $search_result=StringInStr($file_content_array[$i],$searchVersion) If $search_result<>0 Then ReDim $searchResultMVerArray[UBound($searchResultMVerArray) + 1] $searchResultMVerArray [$j] = $file_content_array[$i] $j+=1 EndIf Next Return $searchResultMVerArray EndFunc ;Search join Func SearchJoin($searchMDUVersion, $searchResult) $countSearchResultMVer=UBound($searchMDUVersion) -1 Do ReDim $searchResult[UBound($searchResult) +1] $countSearchResult=UBound($searchResult) -1 While $countSearchResultMVer <> 0 $searchResult[$countSearchResult] = $searchMDUVersion[$countSearchResultMVer] $countSearchResultMVer -= 1 WEnd Until $countSearchResultMVer = 0 _ArrayDisplay($searchResult, "Search Join") Return $searchResult EndFunc ;File Write Func FileWriting($file_name) $sFilePathExtract = "C:\TEMP\Test\NewLog.txt" ; Create a temporary file to write data to. If Not FileWrite($sFilePathExtract, $file_name & @CRLF) Then MsgBox($MB_OK, "", "An error occurred whilst writing the temporary file. 1.Phase") Return False EndIf ; Open the file for writing (append to the end of a file) and store the handle to a variable. Local $hFileOpen = FileOpen($sFilePathExtract, $FO_APPEND) If $hFileOpen = -1 Then MsgBox($MB_OK, "", "An error occurred whilst writing the temporary file. 2.Phase") Return False EndIf ; Write data to the file using the handle returned by FileOpen. For $i = 0 To UBound($searchResultArray) - 1 FileWriteLine($hFileOpen, $searchResultArray[$i][0] & @CRLF) Next FileWrite($sFilePathExtract, @CRLF) ; Close the handle returned by FileOpen. FileClose($hFileOpen) ; Display the contents of the file passing the filepath to FileRead instead of a handle returned by FileOpen. MsgBox($MB_OK, "", "Contents of the file:" & @CRLF & FileRead($sFilePathExtract)) ; Empty the array for the next search ReDim $searchResultArray[0][0] EndFunc ;Array Sort Func _Sort(ByRef $aArray) _ArrayColInsert($aArray, 1) For $i = 0 To UBound($aArray) - 1 $aArray[$i][1] = StringRegExpReplace($aArray[$i][0], '(\d{2})\.(\d{2})\.(\d{4})', "$3$2$1") Next _ArraySort($aArray, 0, 0, 0, 1) _ArrayColDelete($aArray, 1) EndFunc Func Online_Activation_Search($content_array) $search_start = "XML-Daten" $search_end = "/online-activation" Global $SearchOnlineActivation[0][0] _ArrayDisplay($content_array,"content") Global $start_search_result=_ArrayFindAll($content_array,$search_start,0,0,0,1,1) Global $end_search_result=_ArrayFindAll($content_array,$search_end,0,0,0,1,1) _ArrayDisplay($start_search_result,"start") _ArrayDisplay($end_search_result,"end") Global $i=UBound($start_search_result) MsgBox($MB_OK,"i", $i) $array_dif=$end_search_result[0] - $start_search_result[0] MsgBox($MB_OK, "max index", $array_dif) $array_dif+=1 ReDim $SearchOnlineActivation[1][$array_dif] MsgBox($MB_OK, "rows", $array_dif) ;Search ;$array_dif=$end_search_result[$k] - $start_search_result[$k] For $count_start=$start_search_result[0] to $array_dif -1 For $m=0 to $array_dif -1 $SearchOnlineActivation [0][$m] = $content_array[$count_start+$m] ;_ArrayDisplay($SearchOnlineActivation,"test") Next _ArrayDisplay($SearchOnlineActivation,"test") ExitLoop Next EndFunc ;File close FileClose ("$file")