Get-ChildItem -Filter Array
Does this mean that
-Include
supports multiple values, but-Filter
only allows one value?
Yes.
If the above explaination is correct, is there a way I could have discovered this from
Get-Help gci
?
Yes, but you do not get much information by Get-Help gci -Parameter Filter
. But you still can see it is a string, not an array. As for the details, Filter
is a provider-specific filter. Get-Help gci
cannot tell you anything about implementation in a particular provider. In theory, Get-Help FileSystem
(help about this provider) should have explained this.
P.S. Also note that this filter rather uses CMD wildcard rules than PowerShell wilcard rules.
Using Get-Help
:
> get-help Get-ChildItemNAME Get-ChildItemSYNTAX Get-ChildItem [[-Path] <string[]>] [[-Filter] <string>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-Name] [-Recurse] [-UseTransaction] [<CommonParameters>]
The SYNTAX section includes the parameter types, from which you can see that Filter
is a string, and Path
an array.
Question 1:
Yes. -Filter
accepts only [string]
as input. -Include
accepts [String[]]
.
Question 2:
Get-help get-childitem -parameter filter
gives
-Filter <string>...explanation...
Get-help get-childitem -parameter include
gives
-Include <string[]>...explanation...