Gibt die Größe eines Verzeichnisses in Bytes zurück.
DirGetSize ( "path" [, flag = 0] )
path | Der Pfad des zu untersuchenden Verzeichnisses, z.B. "C:\Windows". |
flag | [optional] Dieses Flag bestimmt das Verhalten und Ergebnis der Funktion und kann eine Kombination der folgenden Werte sein: $DIR_DEFAULT (0) = (Standard) $DIR_EXTENDED (1) = aktiviert den erweiterten Modus ("Extended mode") -> Es wird ein Array zurückgegeben, das weitere Informationen enthält (siehe Bemerkungen). $DIR_NORECURSE (2) = bezieht Dateien in Unterverzeichnissen nicht mit ein (der Rekursivmodus ist aus). Die Konstanten sind in "AutoItConstants.au3" definiert. |
Erfolg: | Die Größe größer als 0 oder gleich 0. |
Fehler: | -1 und setzt das @error Flag auf ungleich null wenn der Pfad nicht existiert. |
Wenn das Skript pausiert wird, wird auch diese Funktion unterbrochen und erst fortgeführt, wenn auch das Skript wieder läuft!
Wenn man den erweiterten Modus verwendet, wird ein 1D Array mit folgenden Elementen zurückgegeben:
$aArray[0] = Größe
$aArray[1] = Anzahl der Dateien
$aArray[2] = Anzahl der Verzeichnisse
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
Example()
Func Example()
Local $iSize = DirGetSize(@HomeDrive)
MsgBox($MB_SYSTEMMODAL, "", "Größe (MegaBytes): " & Round($iSize / 1024 / 1024))
$iSize = DirGetSize(@WindowsDir, $DIR_NORECURSE)
MsgBox($MB_SYSTEMMODAL, "", "Größe (MegaBytes): " & Round($iSize / 1024 / 1024))
Local $hTimer = TimerInit()
Local $aSize = DirGetSize("\\10.0.0.1\h$", $DIR_EXTENDED) ; erweiterter Modus
If Not @error Then
Local $iDiff = Round(TimerDiff($hTimer) / 1000) ; Zeit in Sekunden
MsgBox($MB_SYSTEMMODAL, "", "Größe (Bytes): " & $aSize[0] & @CRLF _
& "Dateien: " & $aSize[1] & @CRLF & "Verzeichnisse: " & $aSize[2] & @CRLF _
& "TimeDiff (Sek): " & $fDiff)
EndIf
EndFunc ;==>Example