Get-ChildItem -Filter Array Get-ChildItem -Filter Array powershell powershell

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...