Returns the size in bytes of a given directory.
DirGetSize ( "path" [, flag = 0] )
path | The directory path to get the size from, e.g. "C:\Windows". |
flag | [optional] this flag determines the behaviour and result of the function, and can be a combination of the following: $DIR_DEFAULT (0) = (default) $DIR_EXTENDED (1) = Extended mode is On -> returns an array that contains extended information (see Remarks). $DIR_NORECURSE (2) = Don't get the size of files in subdirectories (recursive mode is Off) Constants are defined in "AutoItConstants.au3". |
Success: | the sizes that are greater than or equal to zero |
Failure: | -1 and sets the @error flag to non-zero if the path doesn't exist. |
If the script is paused then this function is paused too and will only continue when the script continues!
If you use the extended mode then the array returned from this function is a single dimension array containing the following elements:
$aArray[0] = Size
$aArray[1] = Files count
$aArray[2] = Dirs Count
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
Example()
Func Example()
Local $iSize = DirGetSize(@HomeDrive)
MsgBox($MB_SYSTEMMODAL, "", "Size(MegaBytes): " & Round($iSize / 1024 / 1024))
$iSize = DirGetSize(@WindowsDir, $DIR_NORECURSE)
MsgBox($MB_SYSTEMMODAL, "", "Size(MegaBytes): " & Round($iSize / 1024 / 1024))
Local $hTimer = TimerInit()
Local $aSize = DirGetSize("\\10.0.0.1\h$", $DIR_EXTENDED) ; extended mode
If Not @error Then
Local $iDiff = Round(TimerDiff($hTimer) / 1000) ; time in seconds
MsgBox($MB_SYSTEMMODAL, "", "Size(Bytes): " & $aSize[0] & @CRLF _
& "Files: " & $aSize[1] & @CRLF & "Dirs: " & $aSize[2] & @CRLF _
& "TimeDiff(Sec): " & $iDiff)
EndIf
EndFunc ;==>Example