VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



VB.Net :- This, Code Similar To, Windows Search, But This Program, Quickly Search Files Better Than

by Gehan Fernando (47 Submissions)
Category: Windows System Services
Compatability: VB.NET
Difficulty: Unknown Difficulty
Originally Published: Tue 19th June 2007
Date Added: Mon 8th February 2021
Rating: (1 Votes)

VB.Net :- This, Code Similar To, Windows Search, But This Program, Quickly Search Files Better Than Windows Search, Automatically Search

API Declarations


Imports System.Collections.ObjectModel

Rate VB.Net :- This, Code Similar To, Windows Search, But This Program, Quickly Search Files Better Than




    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        TextBox1.ResetText()
        TextBox2.ResetText()
        ProgressBar1.Value = 0
        Label3.Text = ""
        ListView1.Items.Clear()
        Me.Text = "File Finder"
        Label4.Text = ""
        TextBox1.Focus()

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        On Error Resume Next
        Me.Cursor = Cursors.WaitCursor

        Button1.Enabled = False
        Button1.Refresh()

        Label4.Text = ""

        ProgressBar1.Value = 0
        Label3.Text = ""
        ListView1.Items.Clear()
        Me.Text = "File Finder"
        Label4.Text = ""

        If TextBox1.Text.Trim() = "" Then
            TextBox1.Text = "*.*".Trim()
        End If

        Dim searchwhat() As String = TextBox1.Text.Split(New [Char]() {","c})
        Dim contains As String = ""

        If TextBox2.Text.Trim() = "" Then
            contains = ""
        Else
            contains = TextBox2.Text.ToString().Trim()
        End If

        Dim drives As ReadOnlyCollection(Of DriveInfo)
        drives = My.Computer.FileSystem.Drives

        Dim result As New List(Of String)

        With ProgressBar1
            .Value = 0
            .Minimum = 0
            .Maximum = drives.Count
        End With

        Label3.Text = "Analyzing Start ....!"
        Label3.Refresh()

        For Each drive As DriveInfo In drives

            ProgressBar1.Value = ProgressBar1.Value + 1

            Dim drv_CurrentDirectory As String = ""
            drv_CurrentDirectory = drive.Name.ToString()

            Label3.Text = "Analyzing Drive " & drive.Name.ToString()
            Label3.Refresh()

            Label4.Text = (ProgressBar1.Value / ProgressBar1.Maximum).ToString("00.00") * 100 & "% Completed."
            Label4.Refresh()

            result.AddRange(My.Computer.FileSystem.FindInFiles(drv_CurrentDirectory.ToString(), _
                            contains.ToString(), False, FileIO.SearchOption.SearchTopLevelOnly, _
                            searchwhat))

            For Each directories As String In My.Computer.FileSystem.GetDirectories(drv_CurrentDirectory.ToString())

                Dim dir_CurrentDirectory As String = ""
                dir_CurrentDirectory = directories.ToString()

                Me.Text = "File Finder, Analyzing Directory :- " & dir_CurrentDirectory.ToString()
                Me.Refresh()

                result.AddRange(My.Computer.FileSystem.FindInFiles(dir_CurrentDirectory.ToString(), _
                            contains.ToString(), False, FileIO.SearchOption.SearchAllSubDirectories, _
                            searchwhat))

                Application.DoEvents()

            Next directories

        Next drive

        Me.Text = "File Finder"

        With ProgressBar1
            .Value = 0
            .Minimum = 0
            .Maximum = result.Count
        End With

        Label4.Text = ""
        Label4.Text = result.Count.ToString() & " File(s) Found."
        Label4.Refresh()

        Label3.Text = "Searching Start ....!"
        Label3.Refresh()

        Dim fl_notfound As New List(Of String)

        If result.Count > 0 Then
            result.Sort()
        End If

        For i As Long = 0 To result.Count - 1

            Label3.Text = "Found At " & result.Item(i).ToString()
            Label3.Refresh()

            If My.Computer.FileSystem.FileExists(result.Item(i).ToString()) = True Then
                Dim fl_info As FileInfo
                fl_info = New FileInfo(result.Item(i).ToString())
                lstItem = ListView1.Items.Add(fl_info.Name.ToString())
                lstItem.SubItems.Add(fl_info.DirectoryName.ToString())
                lstItem.SubItems.Add((fl_info.Length / 1024).ToString("00") & "kb")
                lstItem.SubItems.Add(fl_info.CreationTime.ToString())
                lstItem.SubItems.Add(fl_info.LastAccessTime.ToString())
                lstItem.SubItems.Add(fl_info.LastWriteTime.ToString())
                ListView1.Refresh()
                Application.DoEvents()
            Else
                fl_notfound.Add(result.Item(i).ToString())
            End If

            ProgressBar1.Value = ProgressBar1.Value + 1

            Label4.Text = (ProgressBar1.Value / ProgressBar1.Maximum).ToString("00.00") * 100 & "% Completed."
            Label4.Refresh()
        Next

        Label3.Text = ""
        Label3.Refresh()

        Label4.Text = ""
        Label4.Refresh()

        Me.Cursor = Cursors.Default

        With ProgressBar1
            .Value = 0
            .Minimum = 0
        End With

        Button1.Enabled = True
        Button1.Refresh()

        If fl_notfound.Count > 0 Then
            MessageBox.Show(fl_notfound.Count.ToString() & " Missing File(s) Found During The File Search", "Missing File(s)", _
            MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        End If

    End Sub

Download this snippet    Add to My Saved Code

VB.Net :- This, Code Similar To, Windows Search, But This Program, Quickly Search Files Better Than Comments

No comments have been posted about VB.Net :- This, Code Similar To, Windows Search, But This Program, Quickly Search Files Better Than. Why not be the first to post a comment about VB.Net :- This, Code Similar To, Windows Search, But This Program, Quickly Search Files Better Than.

Post your comment

Subject:
Message:
0/1000 characters