Can someone please explain the difference between -Include
and -Filter
options in the Get-ChildItem
command .
Below are the two
-filter
should be faster than -include
. -filter
can match the short version of filenames in powershell 5.1.
Filter
parameter is implemented by provider. It is efficient because applies when retrieving the objects.
Get-PSprovider commandlet shows providers that implement 'filter' parameter. For example, there are only two providers on my
system:ActiveDirectory and FileSystem
Include
parameter is implemented by Powershell. It only works in conjunction with Recurse
parameter (as MSDN describes here).
It's interesting that:
get-childitem -path Desktop\Extras\ -include *.txt
returns nothing
get-childitem -path Desktop\Extras\* -include *.txt
returns list of *.txt files
Maybe these are just nuances of the implementation.
Also see this excellent blog post: http://tfl09.blogspot.com/2012/02/get-childitem-and-theinclude-and-filter.html