程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 取得某個目錄底下所有文件大小總和

取得某個目錄底下所有文件大小總和

編輯:VB綜合教程
含目錄底下的子目錄,求得其所有文件大小之總和其第二個三數的目的是起始Static型態的totbyte,呼叫它時,請不要傳三數進去
  PrivateSubCommand1_Click()
  DimtotAsLong
  tot=GetDirTotalByte("c: ools")
  Debug.Printtot
  EndSub
  PrivateFunctionGetDirTotalByte(CurrentPathAsString,OptionaliAsLong)AsLong
  StatictotbyteAsLong
  DimnIAsInteger,nDirectoryAsInteger
  DimsFileNameAsString,sDirectoryList()AsString
  注釋:Initialtotbyte,ifitisnottheRecursivecallthefunction
  Ifi<>1Then
  totbyte=0
  EndIf
  注釋:Firstlistallnormalfilesinthisdirectory
  sFileName=Dir(CurrentPath,vbNormal vbHidden vbReadOnly vbSystem vbArchive)
  DoWhilesFileName<>""
  totbyte=totbyte FileLen(CurrentPath sFileName)
  sFileName=Dir
  Loop
  注釋:Nextbuildtemporarylistofsubdirectories
  sFileName=Dir(CurrentPath,vbDirectory)
  DoWhilesFileName<>""
  注釋:Ignorecurrentandparentdirectories
  IfsFileName<>"."AndsFileName<>".."Then
  注釋:Ignorenondirectories
  IfGetAttr(CurrentPath&sFileName)_
  AndvbDirectoryThen
  nDirectory=nDirectory 1
  ReDimPreservesDirectoryList(nDirectory)
  sDirectoryList(nDirectory)=CurrentPath&sFileName
  EndIf
  EndIf
  sFileName=Dir
  Loop
  注釋:Recursivelyprocesseachdirectory
  FornI=1TonDirectory
  GetDirTotalBytesDirectoryList(nI)&"",1
  NextnI
  GetDirTotalByte=totbyte
  EndFunction->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved