vb中如何查看整个文件夹地大小

如题所述

  Public Function GetFolderSize(Folder As String) As Long
  '取得文件夹的大小,包含子目录
  On Error GoTo er
  Dim Tmp As String
  Dim TotalSize As Long
  Dim FolderBuff() As String
  Dim FolderMax As Long
  Dim BuffMax As Long

  cur_Folder = IIf(Right(Folder, 1) = "\", Folder, Folder & "\")
  Tmp = Dir(cur_Folder & "*.*", vbDirectory)

  Do Until Tmp = ""
  If Tmp <> "." And Tmp <> ".." Then
  If VBA.GetAttr(cur_Folder & Tmp) = vbDirectory Then '目录
  FolderMax = FolderMax + 1
  If FolderMax >= BuffMax Then
  BuffMax = BuffMax + 1000
  ReDim Preserve FolderBuff(BuffMax)
  End If
  FolderBuff(FolderMax) = cur_Folder & Tmp

  Else
  TotalSize = TotalSize + FileLen(cur_Folder & Tmp)
  End If
  End If
  Tmp = Dir()
  Loop

  For i = 1 To FolderMax
  TotalSize = TotalSize + GetFolderSize(FolderBuff(i)) '递归目录
  Next i
  er:
  GetFolderSize = TotalSize
  Erase FolderBuff
  End Function

  Private Sub Command1_Click()
  '调试部分,供参考
  Dim Folder As String
  Folder = VBA.Environ("windir")
  foldersize = GetFolderSize(Folder)

  If foldersize > 1000000000 Then
  Tmp = Format(foldersize / 1000000000, "0.00") & " G"
  ElseIf foldersize > 1000000 Then
  Tmp = Format(foldersize / 1000000, "0.0") & " M"
  ElseIf foldersize > 1000 Then
  Tmp = Format(foldersize / 1000, "0.0") & " k"
  Else
  Tmp = Format(foldersize)
  End If
  MsgBox "文件夹:" & Folder & vbCrLf & "大小:" & Tmp, vbInformation
  End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-23
回答:给亻尔个简单地纯VB代码这个没有包含子目录地,要有地话能够用递归 最后依据得到地数据,计算整个文件夹地大小!叫李嘉诚ljc007来吧!!!!!!

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网