Hallo gmmg,
teste dieses Skript:
Spoiler anzeigen
#include <Array.au3>
#include <file.au3>
;#include <Excel.au3>
Dim $aRecords, $avArray_01[1], $avArray_xx[1], $aC, $aCD
Local $z
#CS $FileList=_FileListToArray(@DesktopDir,"*.xml",1)
If @Error=1 Then
MsgBox (0,"","No Folders Found.")
Exit
EndIf
If @Error=4 Then
MsgBox (0,"","No Files Found.")
Exit
EndIf
_ArrayDisplay($FileList,"$FileList")
;erstelle excel dokument
Local $oExcel = _ExcelBookNew() ;Create new book, make it visible
For $z = 1 to $FileList[0]
;MsgBox(0,"", $FileList[$z])
$eintrag = ""
_test()
Next
#CE
;erstelle excel dokument
;Local $oExcel = _ExcelBookNew() ;Create new book, make it visible
_test()
Func _test()
[/autoit] [autoit][/autoit] [autoit]If Not _FileReadToArray(@DesktopDir & "\index2.jsp2.xml", $aRecords) Then
MsgBox(4096, "Error", " Error reading log to Array error:" & @error)
Exit
EndIf
For $x = 1 To $aRecords[0]
$var = $aRecords[$x]
$var = StringReplace($var, " ", "")
$var = StringStripCR($var)
$var = StringStripWS($var, 3)
;Msgbox(0,'Record:' & $x, $aRecords[$x])
If StringLeft($var, 6) = "<MN20>" Then
$var01 = $var
$var01 = StringTrimRight($var01, 7)
;Msgbox(0,'Record:' & $x, $var01)
$var01 = StringTrimLeft($var01, 6)
;Msgbox(0,'Record:' & $x, $var01)
EndIf
If StringLeft($var, 10) = "<DESTNAME>" Then
$var02 = $var
$var02 = StringTrimRight($var02, 11)
$var02 = StringTrimLeft($var02, 10)
;Msgbox(0,'Record:' & $x, $var01 & "|" & $var02)
_ArrayAdd($avArray_01, $var01 & "|" & $var02)
EndIf
Next
_ArrayDelete($avArray_01, 0)
;_ArrayDisplay($avArray_01)
Local $aC = _ArrayUnique($avArray_01)
_ArrayDelete($aC, 0)
_ArraySort($aC)
;_ArrayDisplay($aC)
Dim $avArray_xx[UBound($aC)][2]
For $i = 0 To UBound($aC) - 1
$eintrag = StringSplit($aC[$i], "|")
$avArray_xx[$i][0] = $eintrag[1]
$avArray_xx[$i][1] = $eintrag[2]
Next
;_ArrayDisplay($avArray_xx, "2D")
$aStringed = _ArrayUnique($avArray_xx)
_ArrayDelete($aStringed, 0)
;_ArrayDisplay($aStringed, "before Stringed")
For $i = 0 To UBound($aStringed) - 1
ConsoleWrite($i & @CRLF)
$aFound = _ArrayFindAll($avArray_xx, $aStringed[$i])
;_ArrayDisplay($aFound)
For $j = 0 To UBound($aFound) - 1
$iCol = $aFound[$j]
$aStringed[$i] = $aStringed[$i] & "|" & $avArray_xx[$iCol][1]
Next
Next
_ArrayDisplay($aStringed, "Fertig")
EndFunc ;==>_test
Ergebnis ist ein 1D Array das durch "|" getrennte Einträge hat:
mfg autoBert