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) FilesList.Items.Add(attributes) '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!