Directory

Status
Niet open voor verdere reacties.

bonnowagt

Gebruiker
Lid geworden
7 dec 2006
Berichten
445
Ik laad op onderstaande wijze een folder in. Hoe doe ik dit met een copmplete directory
Code:
  Dim FolderBrowserDialog1 As New FolderBrowserDialog
            With FolderBrowserDialog1
                .RootFolder = Environment.SpecialFolder.Desktop
                .SelectedPath = "c:\windows"
                .Description = "Select the source directory"

                If .ShowDialog = DialogResult.OK Then
                    TextBox4.Text = (.SelectedPath)
                    Dim FileDirectory As New IO.DirectoryInfo(FolderBrowserDialog1.SelectedPath)
                    Dim FilesFromDirectory As IO.FileInfo() = FileDirectory.GetFiles()
                    For Each File As IO.FileInfo In FilesFromDirectory
                        Me.ListBox3.Items.Add(File.FullName)
                    Next
                Else : Exit Sub
                End If
 
Eh... Huh? Een folder en een directory zijn eigenlijk twee dezelfde dingen.

Bedoel je soms dat je alle subfolders/subdirectories in een gekozen folder/directory wilt verkrijgen?
 
Ik zeg het waarschijnlijk niet goed. Ik heb een directory
Muziek daaronder
MUziek1 daar weer onder diverse mappen
Queen
Blof
Abba enz.
Ik kan met met de gegeven code niet de map muziek inclusief alle andere mappen ineens inladen, alleen bijv map ABBA
 
Misschien heb je hier iets aan:

Code:
     Dim strFileSize As String = ""
        Dim di As New IO.DirectoryInfo(.SelectedPath)
        Dim aryFi As IO.DirectoryInfo() = di.GetDirectories
        Dim aryFi2 As IO.FileInfo() = di.GetFiles
        Dim fi As IO.DirectoryInfo

        ''laat directorys
        For Each fi In aryFi
            ListBox3.Items.Add(fi.Name)
        Next

       ''laat bestanden
        For Each fi In aryFi2
            ListBox3.Items.Add(fi.Name)
        Next
 
Laatst bewerkt:
Oke bedankt

Ik krijg bij
.selectedpath de melding: dat dit alleen in een with statement kan
Bij aryFi2 de melding: system.io. fileinfo kan niet worden geconverteerd naar system.io. directoryinfo
 
Wil je uit een directory alle subfolders en daarvan weer de subfolders etc. laden?
 
Bij mij werkt dit:
Code:
        Dim FolderBrowserDialog1 As New FolderBrowserDialog
        With FolderBrowserDialog1
            .RootFolder = Environment.SpecialFolder.Desktop
            .SelectedPath = "c:\windows"
            .Description = "Select the source directory"

            If .ShowDialog = DialogResult.OK Then
                TextBox4.Text = (.SelectedPath)
                For Each File As IO.FileInfo In New IO.DirectoryInfo(.SelectedPath).GetFiles("*.*", IO.SearchOption.AllDirectories)
                    On Error Resume Next
                    ListBox3.Items.Add(File.FullName)
                Next
            Else : Exit Sub
            End If
        End With

Als je naar bepaalde bestanden wilt zoeken moet je dit aanpassen:
Code:
IO.DirectoryInfo(.SelectedPath).GetFiles("*.*", IO.SearchOption.AllDirectories)

Op de plaats van "*.*" moet je dan hetgeen neerzetten waar je naar wilt zoeken.


Deze code zal niet alle bestanden kunnen weergeven, maar dat is omdat je niet genoeg machtigingen hebt om alles te kunnen zoeken. Dit maakt vooral uit als je in b.v. de windows map gaat zoeken. Als je het programmaatje als administrator opstart, dan kan je volgens mij wel al iets meer bestanden zien...
Kijk hier hoe je kan instellen dat het als admin opgestart moet worden: http://www.helpmij.nl/forum/showthread.php/636411-Bestand-openen-met-administrator-rechten#post_4054663

Succes!:thumb:


*EDIT*

Misschien goed om het met een backgroundworker te doen, anders 'bevriest' het programmaatje...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan