VB.NET Code to search hard drive in background multi-thread:
After many requests from all of you, I have written the requested code in VB.net to do the following:
Pseudo Code: (What will our program do in simple English terminology.)
- Search ALL hard drives, USB media, etc..
- Search ALL directories & sub-directories, on ALL hard drives.
- Place the DRIVE, DIRECTORIES, FILENAME in a memory ARRAY and a text file. Example:
- C:\FILENAME.EXT
- C:\WINDOWS\FILENAME.EXT
- D:\FILENAME.EXT
- D:\BACKUP\FILENAME.EXT
- etc…
- Do this in a way that does not hog system resources. (background process and/or multi threading.)
- Keep all errors from user and handle on own. (file access issues, errors, etc…)
VB.NET Code to search hard drive in background multi-thread:
To create this project create a VB.NET project with the following:
- One Form (with name: Form1)
- One BackgroundWorker (with name: BackgroundWorker1)
Open code window for Form1. Delete all the code. Then paste our code from here, and your program is complete.
.
VB.NET Code to search hard drive in background multi-thread
Imports System.ComponentModel Imports System.IO Imports System.Threading Imports Microsoft.VisualBasic.Devices Public Class Form1 Public path As String = "c:\" Public fileList As New List(Of String) Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load BackgroundWorker1.RunWorkerAsync() End Sub Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted Me.BackColor = Color.Green End Sub Sub GetAllAccessibleFiles(path As String, filelist As List(Of String)) For Each file As String In Directory.GetFiles(path, "*.*") Application.DoEvents() filelist.Add(file) Next For Each dir As String In Directory.GetDirectories(path) Application.DoEvents() Try GetAllAccessibleFiles(dir, filelist) Catch ex As Exception End Try Next End Sub Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork Application.DoEvents() For Each drive In DriveInfo.GetDrives Application.DoEvents() GetAllAccessibleFiles(drive.ToString, fileList) 'Convert List to string array if you want 'Dim files As String() = fileList.ToArray Next Application.DoEvents() Using sw As New System.IO.StreamWriter("c:\filelist.txt") For Each s As String In fileList Application.DoEvents() 'write to file ' sw.WriteLine(s) Next sw.Flush() ''yeap I'm the sort of nerd that flushes it then closes it, just like my toilet. :-) sw.Close() End Using End Sub End Class
Related Videos:
Related Posts:
My little pony learning game in VB.NET
Animatic – Advanced WordPress Frontend Animator
Top Tools for Ethical hacking in 2020
FAQs(Opens in a new browser tab)
Disable Search in WordPress(Opens in a new browser tab)
New Raspberry Pi challenger promises 7x the speed at 2x the price(Opens in a new browser tab)
Cybersecurity Analyst (CSA+) Exam Study Guide
USB O.MG cable opens Wi-Fi to remote attacks(Opens in a new browser tab)
Reasons why website visitors stop reading before the end of your page(Opens in a new browser tab)
Python Basic String Operations(Opens in a new browser tab)
https://stackoverflow.com/questions/18022677/searching-a-drive-with-vb-net
https://www.vbforums.com/showthread.php?856813-Recursive-search-hard-drive-for-file-types