Folder/directory size ermitteln



  • Hi

    Nach langem suchen in der msdn und den suchmaschinen ist mir keine funktion über den weg gelaufen die die folder / directory size ermitteln kann. Jetz habe ich selber eine geschrieben. In dieser routine ,durchforste ich einfach rekursiv das directory und ermittle die size aller files, und addiere sie. das funktioniert gut,und ist auch das was ich wollte, doch meine frage ist nun ob es wirklich keine highlevel funktion gibt für reines C ink. der API.?

    Lowbyte_



  • Mach mal die Eigenschaften eines Ordners mit sehr vielen Dateien auf. Da dauert es auch ne gewisse Weile, bis die Gesamtgröße angezeigt wird.
    Liegt am Dateisystem.



  • Hi

    Ja das ist so, Windows macht das gleich wie ich in dem fall.
    Man müsste das ntfs anpassen, indem man einen globalen byte counter benützen würde. Wen ein file angelegt werden wird addiert ansonssten subtrahiert. wäre ja einfach zu implementieren. Dan würde es auch nicht mehr eine ewigkeit dauer um die directory size zu ermitteln.

    In dem fall gibt es keine api funktion ?

    Das müssame ist einfach das man bei einer sehr dicht belegten platte unter umständen einige sekunden braucht, um die directory-size zu ermitteln.
    Eben ntfs !

    lowbyte



  • Stell dir vor, du hättest einen Pfad:

    C:\dir1\dir2\dir3\dir4\dir5\dir6\dir7\dir8\dir9

    Erstellst du jetzt eine Datei in dir9, müsste die Größe von C: bis dir9 neu gesetzt werden -> Overkill.

    Ich glaube, so ist es.



  • Hi

    Man könnte auch einfach pro directory einen counter machen. Zur ermittlung braucht es dan nur alle directory size,s.

    Lowbyte



  • hi

    Der letzte beitrag von mir streichen.!
    Ja egal, so oder so overkill !

    Lowbyte



  • Und wie ist das bei schon vorhandenen Dateien? Soll Windows alle Dateien in allen Verzeichnissen ständig auf Veränderungen Überwachen nur um alle Jubeljahre sofort die richtige Verzeichnisgröße anzeigen zu können?



  • hi

    Ja ist mir schon klar ! doch das die winapi nich mal eine funktion zur verfügung stellt, hat mich gewundert. Da sie sonnst auch für jeden shi+ eine funktion bereitstellen.

    Lowbyte


Anmelden zum Antworten