Functions > FileDirDisk >


DirGetSize

Obtient la taille en octets d'un r�pertoire donn�.

DirGetSize ( "path" [, flag = 0] )

Param�tres

path Le chemin du r�pertoire concern�. Ex : "C:\Windows".
flag [optionnel] Ce param�tre d�termine le comportement et le r�sultat de la fonction et peut prendre pour valeur une combinaison des valeurs suivantes:
    $DIR_DEFAULT (0) = (par d�faut)
    $DIR_EXTENDED (1) = Le mode �tendu est activ�. Retourne un tableau qui contient les informations �tendues (Voir Remarques).
    $DIR_NORECURSE (2) = Ne prend pas en compte la taille des fichiers des sous r�pertoires (le mode r�cursif est d�sactiv�).

Les constantes sont d�finies dans "AutoItConstants.au3"

Valeur de retour

Succ�s: Retourne la taille sup�rieure ou �gale � 0.
�chec: Retourne -1 et d�finit @error <> 0 si le chemin n'existe pas.

Remarques

Si le script est mis en pause alors cette fonction est mise en pause �galement et elle continuera quand le script sera reprit.

Si vous utilisez le mode �tendu, alors le tableau retourn� par cette fonction est un tableau � 1 dimension contenant les �l�ments suivants:
    [0] = Taille
    [1] = Nombre de fichiers
    [2] = Nombre de r�pertoires

Exemple

#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    Local $iSize = DirGetSize(@HomeDrive)
    MsgBox($MB_SYSTEMMODAL, "", "Taille(MegaOctets): " & Round($iSize / 1024 / 1024))

    $iSize = DirGetSize(@WindowsDir, 2)
    MsgBox($MB_SYSTEMMODAL, "", "Taille(MegaOctets): " & Round($iSize / 1024 / 1024))

    Local $hTimer = TimerInit()

    Local $aSize = DirGetSize("\\10.0.0.1\h$", 1)  ; mode �tendu
    If @error = 0 Then
        Local $iDiff = Round(TimerDiff($hTimer) / 1000)  ; temps en secondes
        MsgBox($MB_SYSTEMMODAL, "", "Taille(MegaOctets): " & $aSize[0] & @CRLF _
                 & "Fichiers: " & $aSize[1] & @CRLF & "Dossiers: " & $aSize[2] & @CRLF _
                 & "TimeDiff(Sec): " & $iDiff)
    EndIf
EndFunc   ;==>Example