VB.Net – Rekrusives Durchsuchen von Verzeichnissen nach bestimmten Dateitypen inkl. Unterordner

Mit dieser Funktion können Sie rekrusiv nach bestimmten Dateitypen in Verzeichnissen suchen. Zum Beispiel möchten Sie wissen wo sich ihre Outlook-PST Dateien befinden, damit Sie die Dateien sichern können. Da gibt es viele weitere Anwendungsmöglichkeiten. An der kommentierten Stelle ‚Gefundene Files‘ können Sie Ihren individuellen Code einfügen.

So wird es gemacht:

    '============================================
    ' VB.NET Beispiel in Visual Basic .Net
    ' © wilfried.bitz@bridgesolution.de
    '============================================
    Private Sub FILE_SeekFiles( _
        ByVal Root As String, _
        ByRef FileArray As List(Of String), _
        ByVal SubFolders As Boolean, _
        ByVal strSuchPattern As String, _
        ByVal myStruc As IniStructure)
 
        '----------------------------------------
        Dim strProzedur As String = "FILE_SeekFiles()"
        '----------------------------------------
 
        'Zum Beispiel: strSuchPattern = ".pst"
 
        Try
            '------------------------------------
            Dim Files() As String = System.IO.Directory.GetFiles(Root)
            Dim Folders() As String = System.IO.Directory.GetDirectories(Root)
            '------------------------------------
 
            '------------------------------------
            For i As Integer = 0 To UBound(Files)
                FileArray.Add(Files(i).ToString)
            Next
            '------------------------------------
 
            '------------------------------------
            If IsNothing(Folders) Then Exit Sub
            If SubFolders = True Then
                For i As Integer = 0 To UBound(Folders)
                    FILE_SeekFiles(Folders(i), FileArray, SubFolders, strSuchPattern, myStruc)
                    Files = System.IO.Directory.GetFiles(Folders(i))
                    If Not IsNothing(Files) Then
                        For ii As Integer = 0 To UBound(Files)
                            If InStr(Files(ii), strSuchPattern) <> 0 Then
                                '----------------
                                'Gefundene Files
                                Debug.Print(Files(ii))
                                '.
                                '.
                                '----------------
                            End If
                        Next ii
                    End If
 
                Next
            End If
            '------------------------------------
 
        Catch Ex As System.UnauthorizedAccessException
            '------------------------------------
            'Wird ausgelöst wenn der Zugriff auf ein Verzeichnis nicht erlaubt ist
            'Kann man so abfangen
            Debug.Print(Ex.Message)
            '------------------------------------
 
        Catch Ex As Exception
            '------------------------------------
            myStruc.ERR_Message = Ex.Message
            myStruc.ERR_Modulname = mStrModul
            myStruc.ERR_ProzedurName = strProzedur
            ERR_Handler(myStruc)
            '------------------------------------
 
        End Try
 
    End Sub

Spendierst du mir eine Tasse Kaffee? Ich würd mich riesig freuen. DANKE !! 🙂


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.