My program performs a search on a user selected directory and produces a list of files and attributes in a listview. The user then has the option to open files, move them, or delete them. This program will be used accross a wide variety of users and I want to be able to filter the results so people don't end up deleting system files that are necessary for their computer to function. Is there a way to search for all files types EXCEPT a list of system extensions? Below is the code (a little abbreviated) used to perform the search when the user clicks the "Search" button - the wantedFiles variable is a string identified as "*.*"

Public Sub SearchBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchBtn.Click
            Dim dirInfo As New DirectoryInfo(DirSearchTxtBox.Text)
            Dim wantedFiles As String = "*.*"
            Dim CutOffDate As Date = DateTimePicker1.Text
            'call method that searches and puts files in list
            FilesSearch(dirInfo, wantedFiles, CutOffDate, FilesList)
End Sub
Public Sub FilesSearch(ByVal dirInfo As DirectoryInfo, ByVal wantedFiles As String, ByVal CutOffDate As Date, ByVal List As ListView)
       Dim resultFiles() As FileInfo
            resultFiles = dirInfo.GetFiles(wantedFiles)
            For Each resultFile As FileInfo In resultFiles
                If resultFile.LastWriteTime.Date < CutOffDate Then
                    Dim colItem(4) As String
                    Dim attributes As ListViewItem
                    colItem(0) = (resultFile.Name) 'name of file in check box list 
                    colItem(1) = (resultFile.DirectoryName) 'full directory path and file name
                    colItem(2) = (resultFile.LastAccessTime) 'last access time of files
                    colItem(3) = (resultFile.Length / 1000) 'file size in KB
                    attributes = New ListViewItem(colItem)

                    'automatically size columns based on content or header
                    Dim col1content = attributes.Text.Length
                    Dim col1header = 100
                End If
            Next resultFile
            Dim SubDirs() As DirectoryInfo = dirInfo.GetDirectories()
            For Each SubDir As DirectoryInfo In SubDirs
                FilesSearch(SubDir, wantedFiles, CutOffDate, List)
            Next SubDir
End Sub

Can I create a separate file of some kind with a list of extensions and have a variable be identified as anything but items in the file? Or is there an easier way to do it? I'm kind of new to .net - any advice or feedback is welcome! Thanks!

This article has been dead for over six months. Start a new discussion instead.