Rubrik: Dateisystem · Ordner & Verzeichnisse | VB-Versionen: VB5, VB6 | 01.12.01 |
Größe eines Ordners schnell ermitteln Seit Einführung des FSO (FileSystemObjects) lässt sich so manches einfacher und schneller ermitteln - so auch die Größe eines Ordners. | ||
Autor: Dieter Otter | Bewertung: | Views: 28.238 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Wie würden Sie die Größe eines bestitmmten Ordners ermitteln?
Im ersten Moment gar nicht so einfach. Hmm... zunächst die einzelnen Dateien des Ordner ermitteln und deren Größe aufaddieren. Dann noch alle Unterordner durchsuchen, und ebenfalls die Dateigrößen aufaddieren. Dann noch die Ordner der Unterordner durchsuchen und und und...
Viel zu aufwendig - viel zu komplex - viel zu viel Zeit!
Seit Einführung des FSO (FileSystemObjects) lässt sich so manches einfacher und schneller ermitteln - so auch die Größe eines Ordners.
Sie brauchen lediglich nachfolgende vier Codezeilen in Ihre Anwendung einfügen - und schon erhalten Sie die Größe eines Ordners inkl. aller Unterordner usw.
' Ordnergröße ermitteln Dim FSO As New Scripting.FileSystemObject Dim Folder As Scripting.Folder Set Folder = FSO.GetFolder("d:\temp\") MsgBox Folder.Size
Ach ja - einen Verweis brauchen Sie noch - und zwar auf die Microsoft Scripting Runtime.
Und nachfolgend eine Universal-Funktion. Die Funktion erwartet den Ordner (inkl. Laufwerksangabe) und gibt die ermittelte Größe in Bytes zurück.
' Ordnergröße ermitteln Public Function FolderSize(ByVal strFolder As String) _ As Double Dim FSO As New Scripting.FileSystemObject Dim Folder As Scripting.Folder ' Ggf. abschliessenden Backslash anfügen If Right$(strFolder, 1) <> "\" Then _ strFolder = strFolder & "\" Set Folder = FSO.GetFolder(strFolder) FolderSize = Folder.Size End Function
Möchten Sie die Größe in KBytes, MBytes oder GBytes wissen, so schauen Sie sich mal nachfolgenden Tipp an: Skalierte Anzeige des freien Speicherplatzes