[VB] [Ordner nach Videodateien durchsuchen]

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Redjo.

    [VB] [Ordner nach Videodateien durchsuchen]

    Hallo liebe Community,
    ich habe mir für die Ferien ein neues größeres VB Projekt vorgenommen. Ich möchte ein Programm schreiben das Ordner + Unterordner nach Film Dateien, also .mkv .avi . usw durchsucht.
    Diese Videodateien, diese Umbennen und in einer Datenbank speichern soll.
    Nunja irgendwie bekomm ich das ganze nach einer längeren VB Pause nicht mehr so hin :D


    In Wort würde das ganze so lauten:

    Für jede Datei in dem gewählen verzeichniss, suche die *.mkv und *.avi Files heraus und liste sie auf


    Verzeichnis, also Pfard ... done

    Spoiler anzeigen
    Me.FolderBrowserDialog1.ShowDialog()


    verzeichniss = Me.FolderBrowserDialog1.SelectedPath
    If Not verzeichniss.EndsWith("\") Then

    verzeichniss &= "\"
    End If

    Label1.Text = verzeichniss



    Files heraussuchen auflisten .... kacke am Dampfen


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim media As List(Of String)
    2. media.Add("*.avi")
    3. media.Add("*.mkv")
    4. For Each itm In media
    5. ' My.Computer.FileSystem.GetFiles(verzeichniss, FileIO.SearchOption.SearchAllSubDirectories, "*.avi ") Mein Ansatz aber irgendwie Sinnfrei
    6. .... datenbank.Add(File)
    7. Next



    Komme da nicht so weiter und bin für eure Tipps, Ratschläge und Beispiele sehr dankbar!

    VB.NET-Quellcode

    1. Function SeachTypeInDirectory(ByVal dir As String, ByVal type As String) As List(Of IO.FileInfo)
    2. Dim Files As New List(Of IO.FileInfo)
    3. Dim Types() As String = type.Split("&")
    4. With New IO.DirectoryInfo(dir)
    5. For Each File In .GetFiles
    6. If Types.Contains(File.Extension) Then
    7. Files.Add(File)
    8. End If
    9. Next
    10. For Each Folder In .GetDirectories
    11. SeachTypeInDirectory(Folder.FullName, type)
    12. Next
    13. End With
    14. Return Files
    15. End Function


    VB.NET-Quellcode

    1. For Each file In SeachTypeInDirectory("C:\Users\Tanoshiisuta\Pictures", ".png&.jpg")
    2. ListBox1.Items.Add(file.FullName)
    3. Next


    Meinst sowas?
    .NET kann es noch einfacher:

    VB.NET-Quellcode

    1. Dim Files As New List(Of System.IO.FileInfo)
    2. For Each pattern In New String() {"*.jpg", "*.bmp", "*.png"}
    3. For Each file In System.IO.Directory.GetFiles("c:\temp", pattern, IO.SearchOption.AllDirectories)
    4. Files.Add(New System.IO.FileInfo(file))
    5. Next
    6. Next
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Dann wars viel einfacher als ich als rumexperimentiert habe ! Danke euch beiden !


    Was ich jetzt aber nicht verstehe ist.
    SearchOption.AllDirectories



    Wenn ich jetzt z.B den Ordner Filme auswähle, dort ist ein Ordner /Filme/spaß/terrence/film.mkv und der Ordner Filme wurde von mir als Path gewählt, wird film.mkv nicht gefunden. Wähle ich aber Filme/spaß/terrence/ wird er erkannt. Normalerweise müsste durch die SearchOption ja auch die Unterordner miteingezogen werdeN?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Redjo“ ()

    Das kann ich so leider nicht nachvollziehen, diese Datei wird mei mir immer gefunden, wgal, welchen (richtigen) Sub-Pfad ich eingebe.
    Wie genau sieht der String aus, den Du als Pfad vorgibst?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Tut mir leid, das liegt daran das ich ein Eierkopf bin und erst nach 1 Uhr nachts klar denken kann. Ich habe vergessen in meiner Demo Listbox1.Item.Add Logischerweise wird nichts hinzugefügt, wenn man das nicht deklariert ;( :D


    Edit by Manschula: Warum wird der Vorredner vollständig zitiert? --> Unnötiges Vollzitat entfernt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()