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
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文件夹的信息
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru
|