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

资讯 驱动中国 1,257 次阅读 0 条评论
分享 Q

含目录底下的子目录,求得其所有文件大小之总和
    其第二个叁数的目的是起始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

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友