2.5 KiB
The search-filename.ps1 PowerShell Script
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
search-filename.ps1 [-path] <Object> [-term] <Object> [<CommonParameters>]
-path <Object>
Specifies the path
Required? true
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters? false
-term <Object>
Specifies the search term
Required? true
Position? 2
Default value
Accept pipeline input? false
Accept wildcard characters? false
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
Example
PS> ./search-filename
Notes
Author: Markus Fleschutz | License: CC0
Related Links
https://github.com/fleschutz/PowerShell
Source Code
<# .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