Ordnergrösse auslesen unterordner In begriffen

  • VB.NET

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von Manu67100.

    Kann man ganz einfach über die Projekteinstellungen. Weiß aber nicht ob es funktioniert.

    Zum Thema Recursion... Eine Rekursive Methode ist eine Methode die sich selbst aufruft.
    In deinem Fall ist dass genau das was du brauchen würdest. Schreib dir also eine Methode die als Parameter einen Pfad erwartet.Dann rufst du die Methode auf und übergibst ihr den Pfad zum Hauptordner, wenn sie durchgelaufen ist rufst du sie selbst mit neuem Pfad als Parameter auf.

    lg.

    LucaWelker
    lg.

    LucaWelker
    Openbook FTW

    du signierst deine Anwendungen und Dlls mit einem Zertifikat und mit der Signtool.exe.
    Vielen Dank :thumbsup:
    Also, Ich habe es geschaft eine recursive function die functioniert gecodet:
    Nur bei Documents and settings will er nicht :cursing: Aber nicht schlimm!

    VB.NET-Quellcode

    1. Public Shared Function OrdnergrosseRec(ByVal OrdnerPath As String) As Long
    2. Dim fileSize As Long = 0
    3. Dim directory As DirectoryInfo = New DirectoryInfo(OrdnerPath)
    4. For Each fileInfo As System.IO.FileInfo In directory.GetFiles()
    5. Try
    6. fileSize += fileInfo.Length
    7. Catch
    8. End Try
    9. Next
    10. For Each subFolder As System.IO.DirectoryInfo In directory.GetDirectories()
    11. Try
    12. fileSize += OrdnergrosseRec(subFolder.FullName)
    13. Catch
    14. End Try
    15. Next
    16. Return fileSize
    17. End Function

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manu67100“ ()

    Was erwartest du denn ... du arbeitest auf einem System UAC ;) ... aber wenigstens hast du das System von Rekursion verstanden ;)
    beim Ordnerdurchlauf reicht:

    VB.NET-Quellcode

    1. For Each subFolder As String In Directory.GetDirectories(OrdnerPath)
    2. Try
    3. fileSize += OrdnergrosseRec(subFolder)
    4. Catch
    5. End Try
    6. Next
    dann müssen keine Info-Klassen erstellt werden und geht schneller ;)
    sry ... ich meine mit Directory System.IO.Directory
    Nochmals Danke
    Hier Den überarbieteten code

    VB.NET-Quellcode

    1. Public Shared Function OrdnergrosseRec(ByVal OrdnerPath As String) As Long
    2. Dim fileSize As Long = 0
    3. Dim directory As DirectoryInfo = New DirectoryInfo(OrdnerPath)
    4. For Each fileInfo As System.IO.FileInfo In directory.GetFiles()
    5. Try
    6. fileSize += fileInfo.Length
    7. Catch
    8. End Try
    9. Next
    10. ' ############ Option 2 für den rest des codes #################
    11. ' For Each subFolder As System.IO.DirectoryInfo In directory.GetDirectories()
    12. 'Try
    13. 'fileSize += OrdnergrosseRec(subFolder.FullName)
    14. 'Catch
    15. 'End Try
    16. 'Next
    17. '#########Ende Option##############################
    18. For Each subFolder As String In System.IO.Directory.GetDirectories(OrdnerPath)
    19. Try
    20. fileSize += OrdnergrosseRec(subFolder)
    21. Catch
    22. End Try
    23. Next
    24. Return fileSize
    25. End Function