vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Suchen einer Datei 
Autor: Manfred X
Datum: 25.03.15 14:58

Hallo!

Falls ich Dich richtig verstanden habe???

    Private Function FindFilePathUp(ByVal filepathtofind As String) As String
 
        Dim filepath As String = IO.Path.GetDirectoryName(filepathtofind)
        Dim filename As String = IO.Path.GetFileName(filepathtofind)
 
        Dim found As Boolean = False
 
        Do
            Dim f() As String = IO.Directory.GetFiles(filepath, filename)
            If f.Length > 0 Then
                Return f(0) 'Pfad/Dateiname zur gefundenen Datei
            Else
                filepath = IO.Path.GetDirectoryName(filepath) 'Pfad wird gekürzt
                found = String.IsNullOrEmpty(filepath)
            End If
        Loop While Not found
 
        Return Nothing 'nix gefunden
 
    End Function
Falls nicht der gesamte Pfad durchsucht werden soll, sondern nur ein Teil
ist als weiterer Parameter der Name des höchsten Verzeichnisses der Hierarchie
anzugeben, das noch durchsucht werden soll und die Abbruchbedingung entsprechend
zu ergänzen.

 Private Function FindFilePathUp(ByVal filepathtofind As String, _
                        Optional ByVal direc As String = "") As String
 
        Dim filepath As String = IO.Path.GetDirectoryName(filepathtofind)
        If Not IO.Directory.Exists(filepath) Then
            Throw New ArgumentException("Ungültige Pfadangabe")
        End If
 
        If Not String.IsNullOrEmpty(direc) Then
            If Not filepath.ToLower.Contains(direc.ToLower) Then
                Throw New ArgumentException("Ungültiges Verzeichnis")
            End If
        End If
 
        Dim filename As String = IO.Path.GetFileName(filepathtofind)
 
        Dim found As Boolean = False
 
        Do
            Dim f() As String = IO.Directory.GetFiles(filepath, filename)
            If f.Length > 0 Then
                Return f(0)
            Else
                filepath = IO.Path.GetDirectoryName(filepath)
                If Not String.IsNullOrEmpty(direc) Then
                    If Not filepath.ToLower.Contains(direc.ToLower) Then
                        Return Nothing 'nicht zu beachtender Pfadabschnitt 
                        ' erreicht
                    End If
                End If
 
                'Sind die Pfadebenen vollständig durchsucht?
                found = String.IsNullOrEmpty(filepath)             
            End If
        Loop While Not found
 
        Return Nothing 'nix gefunden
 
 End Function


Beitrag wurde zuletzt am 25.03.15 um 15:23:12 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Suchen einer Datei1.134henrikl200025.03.15 14:35
Re: Suchen einer Datei705Manfred X25.03.15 14:58
Re: Suchen einer Datei747henrikl200025.03.15 19:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel