DirGetSize

首页  后退  前进

DirGetSize
down2

DirGetSize

返回指定目录的大小(字节).

 

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

参数

path

目标目录的路径, 例如 "C:\Windows".

flag

[可选]确定函数的操作及结果, 可以是下列值的组合:

   $DIR_DEFAULT (0) = (默认)

   $DIR_EXTENDED (1) = 启用扩展模式, 返回包含扩展信息的数组(见备注).

   $DIR_NORECURSE (2) = 不计算子目录的文件大小(关闭递归模式)

 

常量定义在 "AutoItConstants.au3"

返回值

成功:

返回大于或等于 0 的大小值

失败:

返回 -1. 设置 @error 为 1, 表示路径不存在.

备注

如果脚本暂停, 则函数操作也被暂停, 当脚本继续后函数才能继续!

 

如果启用扩展模式, 函数返回包含下列元素的一维数组:

$aArray[0] = 大小

$aArray[1] = 文件数

$aArray[2] = 目录数

函数示例

#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

----------------------------------------

 

该函数可以通过命令 exect 调用

参见:

FileGetSize

例子
copy

exect=$var_i=DirGetSize('C:\Test')||_ViewValues('$var_i') ;; 以字节返回Test文件夹的大小

 

exect=$var_i=Round(DirGetSize('C:\Test')/1024)||_ViewValues('$var_i') ;; 测试返回该文件夹的千字节大小

 

exect=$var_i=Round(DirGetSize('C:\Test')/1024/1024)||_ViewValues('$var_i') ;; 以兆字节返回测试文件夹的大小

 

exect=$var_asize=DirGetSize('C:\Test',1)||_ViewValues($var_asize)||_ViewValues($var_asize[0])||_ViewValues($var_asize[1])||_ViewValues($var_asize[2]) ;; 返回数组,并提供有关Test文件夹的信息

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru