Get-Help Get-ChildItem
displays -Filter
parameter, with displayed wording "Specifies a filter in the provider's format or language". That language differs between what Powershell calls "providers", and file system is declared as one of them. But I have not found any syntax descriptions on file system provider's filter syntax. Any help?
A file system provider is a concrete implementation of this class that implements the abstract methods defined by this class. A provider is identified by a URI scheme . The default provider is identified by the URI scheme "file".
The PowerShell FileSystem provider lets you get, add, change, clear, and delete files and directories in PowerShell. The FileSystem drives are a hierarchical namespace containing the directories and files on your computer. A FileSystem drive can be a logical or physical drive, directory, or mapped network share.
The filter syntax supported by the FileSystem provider is sparsely (if it all) documented, probably because there's nothing much to say.
In short, it only supports simple wildcard matching as you know it from Windows XP-era Search:
Any file with an extension:
*.*
Any file with the .txt
extension:
*.txt
Partial wildcard matching:
*something*.txt
Single-character matching (matches myfile1.jpg
but not myfile01.jpg
):
myfile?.*
Simple character sets (this matches bear
and beer
):
be[ae]r
Simple character ranges (this matches filea.txt
, fileb.txt
and filec.txt
):
file[a-c].txt
Note: It only supports a single expression per filter, so this is illegal:
*.jpg|*.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With