Veröffentlicht 29. Oktober 201212 j Hallo Leute, ich würde gern die Anzahl von allen Dateien im Verzeichnis inkl. Unterordner auslesen. Als Basis habe ich das hier gefunden: Dim counter = My.Computer.FileSystem.GetFiles("[COLOR="#FF0000"]Das zu durchsuchende Verzeichnis[/COLOR]") MsgBox("number of files is " & CStr(counter.Count)) - Wie schaffe ich es, dass dieser Code auch die Unterordner mit einbezieht? - Ist die Variable "counter" eine Integervariable? Gruß und danke Rien
29. Oktober 201212 j Schau dir mal DirectoryInfo mit den Methoden GetFiles() und GetDirectories() an. Damit auch Unterordner berücksichtigt werden, musst du rekursiv durch den Dateibaum gehen.
29. Oktober 201212 j Autor Ja, muss ich noch dazu sagen, dass ich nicht ausgegeben haben möchte wieviele Unterverzeichnisse es gibt. Ich meinte er sollte auch die Unterverzeichnisse nach Dateien absuchen. Aber danke schonmal, werd es mir mal durchlesen
31. Oktober 201212 j Autor Gut, ich habe es hinbekommen Lösung: [COLOR="#0000FF"]Dim [/COLOR]di [COLOR="#0000FF"]As New[/COLOR] System.IO.[COLOR="#40E0D0"]DirectoryInfo[/COLOR](myargs(1)) [COLOR="#0000FF"]For Each[/COLOR] fi [COLOR="#0000FF"]As[/COLOR] System.IO.[COLOR="#40E0D0"]FileInfo [/COLOR][COLOR="#0000FF"]In[/COLOR] di.GetFiles([COLOR="#B22222"]"*.*"[/COLOR], System.IO.[COLOR="#40E0D0"]SearchOption[/COLOR].AllDirectories) counter = counter + 1 [COLOR="#0000FF"]Next[/COLOR] [COLOR="#008000"]'Gibt die Anzahl an Files aus; rein zu Prüfung[/COLOR] MsgBox(counter)
31. Oktober 201212 j Das ist ist doch schon mal gut. GetFiles() liefert ein Array. Ein Count erspart dir die Schleife. di.GetFiles("*.*", SearchOption.AllDirectories).Count() oder dim count = New DirectoryInfo(myargs(1)).GetFiles("*.*", SearchOption.AllDirectories).Count() myargs solltest du noch auf null bzw. count > 0 überprüfen, damit es keine NullReferenceException gibt.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.