取得某个目录底下所有文件大小总和

2008-02-23 06:59:24来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

含目录底下的子目录,求得其所有文件大小之总和其第二个叁数的目的是起始Static型态的totbyte, 呼叫它时,请不要传叁数进去
Private Sub Command1_Click()
Dim tot As Long
tot = GetDirTotalByte("c:\tools\")
Debug.Print tot
End Sub
Private Function GetDirTotalByte(CurrentPath As String, Optional i As Long) As Long
Static totbyte As Long
Dim nI As Integer, nDirectory As Integer
Dim sFileName As String, sDirectoryList() As String
注释:Initial totbyte, if it is not the Recursive call the function
If i <> 1 Then
totbyte = 0
End If
注释:First list all normal files in this directory
sFileName = Dir(CurrentPath, VBNormal vbHidden vbReadOnly vbSystem vbArchive)
Do While sFileName <> ""
totbyte = totbyte FileLen(CurrentPath sFileName)
sFileName = Dir
Loop
注释:Next build temporary list of subdirectories
sFileName = Dir(CurrentPath, vbDirectory)
Do While sFileName <> ""
注释:Ignore current and parent directories
If sFileName <> "." And sFileName <> ".." Then
注释:Ignore nondirectories
If GetAttr(CurrentPath & sFileName) _
And vbDirectory Then
nDirectory = nDirectory 1
ReDim Preserve sDirectoryList(nDirectory)
sDirectoryList(nDirectory) = CurrentPath & sFileName
End If
End If
sFileName = Dir
Loop
注释:Recursively process each directory
For nI = 1 To nDirectory
GetDirTotalByte sDirectoryList(nI) & "\", 1
Next nI
GetDirTotalByte = totbyte
End Function

上一篇: VB6中的FSO对象模型
下一篇: 如何用TextBox打开和保存文件

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:VB编程步步高-代码效率篇

下一篇:做个“网络助手”程序