View Full Version : بدست آوردن تعداد پوشه ها و فایل ها
  
ƒxmahdi
دوشنبه 29 بهمن 1386, 19:47 عصر
دوستان برنامه نویس خسته نباشد
من می خوام تعداد پوشه ها و فایل های یک داریو را به طور کامل بدست بیارم از شیء FileSearch برای سرچ فایل ها استفاده کردم ولی درست جواب نمی ده چون در بعضی موارد تعداد فایل هایی که جستجو می کنه نسبت به برنامه سرچ ویندوز خیلی کمتره
Mbt925
دوشنبه 29 بهمن 1386, 23:57 عصر
این نمونه رو دانلود کنید:
Private Function CountFiles(ByVal folderPath As String, Optional ByVal fileType As String = "*")
    Dim oFSO As New FileSystemObject
    Dim oFolder As Folder
    Dim oFiles As Files
    Dim oFile As File
    Dim count As Long
    Set oFolder = oFSO.GetFolder("c:\")
    Set oFiles = oFolder.Files
    
    fileType = LCase(Trim(fileType))
    
    If fileType = "*" Then
        CountFiles = oFiles.count
    Else
        For Each oFile In oFiles
            If LCase(oFSO.GetExtensionName(oFile.Name)) = fileType Then count = count + 1
        Next oFile
        CountFiles = count
   End If
End Function
ƒxmahdi
سه شنبه 30 بهمن 1386, 08:33 صبح
جناب Mbt925 ممنون 
مشکل تعداد فایل ها حل شد حالا تعداد فولد ها را چطور بدست بیارم
ƒxmahdi
سه شنبه 30 بهمن 1386, 20:22 عصر
من جواب دومم را نگرفتم نمی دانم کدام مدیر این تایپیک را حل شده اعلام کرده لطفا ...
Mbt925
چهارشنبه 01 اسفند 1386, 00:03 صبح
ساده ترین راه برای بدست آوردن تعداد فایل ها و فولدر ها:
Private Function CountFolders(ByVal Path As String) As Long
    Dim TempStr As String
    
    If Right(Path, 1) <> "\" Then Path = Path & "\"
    
    If Dir(Path) = "" Then Exit Function
    
    CountFolders = 0
    
    TempStr = Dir(Path, vbDirectory + vbHidden)
    
    Do While (TempStr <> "")
     
        If (TempStr <> "." And TempStr <> "..") Then
            If (GetAttr(Path & TempStr) And vbDirectory) = vbDirectory Then
                CountFolders = CountFolders + 1
            End If
        End If
        
        TempStr = Dir()
    
    Loop
End Function
Private Function CountFiles(ByVal Path As String) As Long
    Dim TempStr As String
    
    If Right(Path, 1) <> "\" Then Path = Path & "\"
    
    If Dir(Path) = "" Then Exit Function
    
    CountFiles = 0
    
    TempStr = Dir(Path, vbSystem + vbHidden)
    
    Do While (TempStr <> "")
     
        If (TempStr <> "." And TempStr <> "..") Then
                CountFiles = CountFiles + 1
        End If
        
        TempStr = Dir()
    
    Loop
End Function
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.