Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Process files in directory and all subdirectories

18 views
Skip to first unread message

Alex

unread,
Sep 13, 2007, 12:52:36 PM9/13/07
to
Hello,

I'm creating a program to parse a directory and all files within that
directory (including subdirectories), but 'directoryinfo' only parses the
current directory. Is it possible to have it process all files within
subdirectories as well?

Thanks --

Alex


iwdu15

unread,
Sep 13, 2007, 1:14:00 PM9/13/07
to
just use the System.IO.Directory static class

For Each strDir as String in
System.IO.Directory.GetDirectories(SomeDirectoryHere)

For Each strFile as String In System.IO.Directory.GetFiles(strDir)

''Do Something with the files

Next

Next

hope this helps
--
-iwdu15

za...@construction-imaging.com

unread,
Sep 13, 2007, 1:46:01 PM9/13/07
to

Imports System.IO

Public Class EnumDir

Private _Root As String
Private _Files As List(Of String)
Private _Folders As List(Of String)
Private _TotalSize As Long
Private _TotalFiles As Long
Private _TotalFolders As Long

Public Property Root() As String
Get
Return _Root
End Get
Set(ByVal value As String)
_Root = value
End Set
End Property

Public Property Files() As List(Of String)
Get
Return _Files
End Get
Set(ByVal value As List(Of String))
_Files = value
End Set
End Property

Public Property Folders() As List(Of String)
Get
Return _Folders
End Get
Set(ByVal value As List(Of String))
_Folders = value
End Set
End Property

Public Property TotalSize() As Long
Get
Return _TotalSize
End Get
Set(ByVal value As Long)
_TotalSize = value
End Set
End Property

Public Property TotalFiles() As Long
Get
Return _TotalFiles
End Get
Set(ByVal value As Long)
_TotalFiles = value
End Set
End Property

Public Property TotalFolders() As Long
Get
Return _TotalFolders
End Get
Set(ByVal value As Long)
_TotalFolders = value
End Set
End Property

Public Sub New()

_Root = ""
_Files = New List(Of String)
_Folders = New List(Of String)
_TotalSize = 0
_TotalFiles = 0
_TotalFolders = 0

End Sub

''' <summary>
''' Enumerates all Files in a Folder Tree
''' </summary>
''' <param name="Root"></param>
''' <remarks>Root Directory to Enumerate</remarks>
Public Sub New(ByVal Root As String)

_Root = Root
_Files = New List(Of String)
_Folders = New List(Of String)
_TotalSize = 0
_TotalFiles = 0
_TotalFolders = 0
Me.GetFiles(_Root)

End Sub

Public Sub GetFiles(ByVal Path As String)

Dim myDirectoryRoot As New DirectoryInfo(Path)
Dim di As DirectoryInfo
Dim fi As FileInfo
Dim lSize As Long = 0

For Each fi In myDirectoryRoot.GetFiles
_Files.Add(fi.FullName)
_TotalFiles += 1
_TotalSize += fi.Length
Next
For Each di In myDirectoryRoot.GetDirectories()
_Folders.Add(di.FullName)
_TotalFolders += 1
GetFiles(di.FullName)
Next
myDirectoryRoot = Nothing

End Sub

End Class

0 new messages