vb基础   vb实例教程   api调用   控件使用   经验技巧   数据库操作   算法及技术   vb源码下载
您的位置:首页 >> vb教程 >> 经验技巧  

取得某个目录底下所有文件大小总和
出处:网络

    含目录底下的子目录,求得其所有文件大小之总和
    其第二个叁数的目的是起始Static型态的totbyte,呼叫它时,请不要传叁数进去
Private Sub Command1_Click()
Dim tot As Long
tot=GetDirTotalByte("c:\tools\")
Debug.Printtot
End Sub

Private Function GetDirTotalByte(CurrentPath As String,Optionali As Long) As Long
Statictotbyte As Long
Dim nI As Integer,nDirectory As Integer
Dim sFileName As String,sDirectoryList() As String
注释:Initialtotbyte,ifitisnottheRecursivecallthefunction
If i<>1 Then
totbyte=0
End If
注释:Firstlistallnormalfilesinthisdirectory
sFileName=Dir(CurrentPath,vbNormal+vbHidden+vbReadOnly+vbSystem+vbArchive)
Do While sFileName<>""
totbyte=totbyte+FileLen(CurrentPath+sFileName)
sFileName=Dir
Loop
注释:Nextbuildtemporarylistofsubdirectories
sFileName=Dir(CurrentPath,vbDirectory)
Do While sFileName<>""
注释:Ignorecurrentandparentdirectories
If sFileName<>"." And sFileName<>".." Then
注释:Ignorenondirectories
If GetAttr(CurrentPath&sFileName)_
And vbDirectory Then
nDirectory=nDirectory+1
ReDimPreservesDirectoryList(nDirectory)
sDirectoryList(nDirectory)=CurrentPath&sFileName
End If
End If
sFileName=Dir
Loop
注释:Recursivelyprocesseachdirectory
For nI=1 To nDirectory
GetDirTotalBytesDirectoryList(nI)&"\",1
Next nI
GetDirTotalByte=totbyte
End Function

[返回]

     

首页 | 设为首页 | 加入收藏 | 关于本站 | 友情链接 | 版权声明

     
 
Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved
吉ICP备06005558号