Script: *search-filename.ps1* ======================== This PowerShell script serves as a quick Powershell replacement to the search functionality in Windows After you pass in a root folder and a search term, the script will list all files and folders matching that phrase. Parameters ---------- ```powershell PS> ./search-filename.ps1 [-path] [-term] [] -path Specifies the path Required? true Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false -term Specifies the search term Required? true Position? 2 Default value Accept pipeline input? false Accept wildcard characters? false [] This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. ``` Example ------- ```powershell PS> ./search-filename ``` Notes ----- Author: Markus Fleschutz | License: CC0 Related Links ------------- https://github.com/fleschutz/PowerShell Script Content -------------- ```powershell <# .SYNOPSIS Lists all files and folder names matching a search pattern .DESCRIPTION This PowerShell script serves as a quick Powershell replacement to the search functionality in Windows After you pass in a root folder and a search term, the script will list all files and folders matching that phrase. .PARAMETER path Specifies the path .PARAMETER term Specifies the search term .EXAMPLE PS> ./search-filename .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param( [Parameter(Mandatory=$true)] $path, [Parameter(Mandatory=$true)] $term ) # Recursive search function Write-Host "Results:" function Search-Folder($FilePath, $SearchTerm) { # Get children $children = Get-ChildItem -Path $FilePath # For each child, see if it matches the search term, and if it is a folder, search it too. foreach ($child in $children) { $name = $child.Name if ($name -match $SearchTerm) { Write-Host "$FilePath\$name" } $isdir = Test-Path -Path "$FilePath\$name" -PathType Container if ($isdir) { Search-Folder -FilePath "$FilePath\$name" -SearchTerm $SearchTerm } } } # Call the search function Search-Folder -FilePath $path -SearchTerm $term exit 0 # success ``` *(generated by convert-ps2md.ps1 using the comment-based help of search-filename.ps1 as of 08/15/2024 09:50:53)*