Die richtige ausgabe kannst dir ja sicherlich selbst schreiben
Habs jetzt doch ebend nebenbei gemacht. Viel Spaß.
So gehts
#include <File.au3>
#include <Array.au3>
Local $aTracks
Local $aArray[1][2]
Local $aIndexes
Local $sTracklist
$sTracklist = FileOpenDialog("Select Tracklist...", @ScriptDir, "Tracklist (*.txt)")
_FileReadToArray($sTracklist, $aTracks)
For $i = 1 To UBound($aTracks) - 1
$aSplit = StringSplit($aTracks[$i], ";")
If $i = 1 Then
$aArray[$i - 1][0] = $aSplit[1] & ";" & $aSplit[2]
$aArray[$i - 1][1] = $aSplit[2]
Else
$aIndexes = _ArrayFindAll($aTracks, $aSplit[2], 0, 0, 0, 0, 2)
If $aIndexes = -1 Then
ReDim $aArray[$i + 1][2]
$aArray[$i - 1][0] = $aSplit[1] & ";" & $aSplit[2]
$aArray[$i - 1][1] = $aSplit[2]
Else
$aArray[$aIndexes][1] = $aArray[$aIndexes][1] + 1
EndIf
EndIf
Next
For $i = 0 To UBound($aArray) - 1
If $aArray[$i][1] <> "" Then
$aIndexes = _ArrayFindAll($aArray, $aArray[$i][1], 0, 0, 0, 0, 2)
If UBound($aIndexes) > 0 Then
ConsoleWrite($aArray[$i][1] & "(" & UBound($aIndexes) & "x)" & @CR & "--------------------" & @CR)
For $y = 0 To UBound($aIndexes) - 1
ConsoleWrite($aArray[$aIndexes[$y]][0] & @CR)
$aArray[$aIndexes[$y]][0] = ''
$aArray[$aIndexes[$y]][1] = ''
Next
ConsoleWrite(@CR)
EndIf
EndIf
Next