ÄHNLICHE Dateinamen finden?

  • Hallo,

    ich habe sehr viele MP3's (Ca.5.75 Gb) und die möchte ich nach doppelgänger Sortieren.
    Gibt es eine Möglichkeit, alle Dateinamen zu vergleichen?
    Also das wenn zum Beispiel 3 Wörter gleich sind in 2 oder mehr Lieder, das diese Songs in eine Txt geschrieben werden?
    Ich dachte an eine For Next Schleife.
    Weiß jedoch nicht, wie ich es umsetzten kann.

  • Ich glaube du kannst mit _ArraySearch nach "enthalten" suchen.
    Das sollte eine Option sein. So kannst du ein array nach Trefern ausgeben.

    Ansonsten Reguläreausdrücke. Aber das ist bei mir auch eher ein Fischen im drüben :S

    MfG
    Der_Doc

  • So in der Art müsste es aussehen.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Dim $Files[5]
    Dim $FileList[1]

    [/autoit] [autoit][/autoit] [autoit]

    $Files[0] = "Michael Jackson-Beat It.mp3"
    $Files[1] = "Michael Jackson - Beat It (Remix).mp3"
    $Files[2] = "Metallica - Master of Puppets.mp3"
    $Files[3] = "Metallica - Master of Puppets(2).mp3"
    $Files[4] = "Kopie von Metallica - Master of Puppets.mp3"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    For $x = 0 To UBound($Files) - 1
    $Split = StringSplit($Files[$x], " ")
    For $z = 1 To $Split[0]
    If StringInStr($Files[$x], $Split[$z]) Then
    _ArrayAdd($FileList, $Files[$x])

    [/autoit] [autoit][/autoit] [autoit]

    EndIf
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay($FileList)

    [/autoit]
    • Offizieller Beitrag

    ich habe sehr viele MP3's (Ca.5.75 Gb) und die möchte ich nach doppelgänger Sortieren.


    Doppelgänger müssen aber nicht titelgleich sein. Um echte Doppelgänger zu finden, müßtest du Dateiinhalte vergleichen. Ich denke, das könnte man mit Hashcode realisieren. Funktioniert dann aber auch nur bei wirklich identischen Dateien. Hast du einen Titel einmal von CD1 und ein andres mal von CD2 gerippt, so sind diese bestenfalls gleich, aber keinesfalls identisch. :D

  • Wenn du trotzdem nur nach Dateiname sortieren willst kannst du es auch so machen:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Dim $Files[5]
    Dim $FileList[1]

    [/autoit] [autoit][/autoit] [autoit]

    $Files[0] = "Michael Jackson-Beat It.mp3"
    $Files[1] = "Michael Jackson - Beat It (Remix).mp3"
    $Files[2] = "Metallica - Master of Puppets.mp3"
    $Files[3] = "Metallica - Master of Puppets(2).mp3"
    $Files[4] = "Kopie von Metallica - Master of Puppets.mp3"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Sort = _Sort_Array_Filename($Files)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay($Sort)

    [/autoit] [autoit][/autoit] [autoit]

    Func _Sort_Array_Filename($Files)
    For $x = 0 To UBound($Files) - 1
    $Split = StringSplit($Files[$x], " ")
    For $z = 1 To $Split[0]
    If StringInStr($Files[$x], $Split[$z]) Then
    _ArrayAdd($FileList, $Files[$x])
    ExitLoop
    EndIf
    Next
    Next
    Return $FileList
    EndFunc ;==>_Sort_Array_Filename

    [/autoit]

    Oder du vergleichst die Songst nur nach Interpret und Länge.