VB.Net - Buscar um arquivo em um DD

Janeiro 2017



Esta demonstração permite buscar em um disco rígido um arquivo com o caminho desconhecido.

Preliminares

ALT

Sob uma forma, Um TextBox (TextBox1) e uma etiqueta (Label1)
Colados o código no módulo da forma.

Lo código

Ajuda/tradução


Trouver= encontrar
Cherche= Busca
Lire= Ler

Public Class Form1   
    Dim Trouver As String   
    Dim Cherche As String   

    Sub LireRep(ByVal Chem As String)   
        Dim Rep, sRp, Obj, sRep, sR2   
        Dim sCle As String   
        Dim NbsR As Integer, S As String   
        Chem = Chem & IIf(Microsoft.VisualBasic.Right(Chem, 1) = "\", "", "\")   
        '------- no caso em que estaria no DD   
        Trouver = Dir(Chem & Cherche)   
        If Trouver <> "" Then Trouver = Chem & Trouver : Exit Sub   
        '--------------------------------------   
        Obj = CreateObject("Scripting.FileSystemObject")   
        Rep = Obj.Getfolder(Chem)   
        If Microsoft.VisualBasic.Left(Rep.Name, 1) = "$" Then GoTo Passe2   
        sRep = Rep.subfolders   
        For Each sRp In sRep   
            S = UCase(sRp.Name)   
            'sair do procedimento precedente se o arquivo for encontrado 
            If Trouver <> "" Then Exit For   
            '------------ Elimina os diretórios do sistema   
            If Microsoft.VisualBasic.Left(S, 1) = "$" Or S = "WINDOWS" Or sRp.Attributes = 19 _   
                Or Microsoft.VisualBasic.Left(S, 6) = "SYSTEM" Or Microsoft.VisualBasic.Left(S, 7) = "PROGRAM" Or Microsoft.VisualBasic.Left(S, 4) = "USER" _   
                Or Microsoft.VisualBasic.Left(S, 6) = "DRIVER" Or Microsoft.VisualBasic.Left(S, 5) = "TOOLS" Then GoTo Passe   
            On Error Resume Next   
            sR2 = sRp.subfolders   
            NbsR = sR2.Count   
            If Err.Number <> 0 Then GoTo Passe   
            sCle = sRp.Path & IIf(Microsoft.VisualBasic.Right(sRp.Path, 1) <> "\", "\", "")   
            Trouver = Dir(sCle & Cherche)   
            If Trouver <> "" Then Trouver = sCle & Trouver : Exit Sub   
            On Error GoTo 0   

            If NbsR > 0 Then   
                'leitura recursiva dos sub diretórios  
                LireRep(sCle)   
            End If   
Passe:   
        Next   
Passe2:   
        'libera a memória  
        Obj = Nothing   
        Rep = Nothing   
        sRep = Nothing   
        sR2 = Nothing   
    End Sub   

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   
        Trouver = ""   
        Cherche = Trim(TextBox1.Text)   
        If Cherche = "" Then Exit Sub   
        LireRep("c:\")   
        If Trouver <> "" Then   
            Label1.Text = Trouver   
        Else   
            Label1.Text = "Fichier non trouvé"  (Arquivo não encontrado) 
        End If   
    End Sub   
End Class

Download


Baixar a solução


Tradução feita por Ana Spadari

Veja também

Artigo original publicado por . Tradução feita por ninha25. Última modificação: 5 de maio de 2012 às 06:54 por ninha25.
Este documento, intitulado 'VB.Net - Buscar um arquivo em um DD ', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.