按数组过滤Get-ChildItem

Abd*_*nim 5 powershell

我今天刚刚开始使用PowerShell,我有一个数组中的一些模式的意图列表文件,例如:

$matchPattern = (
                  "SomeCompany.SaaS.Core.Mvc*",
                  "SomeCompany.SaaS.Core.UI.Framework*"
                );
Run Code Online (Sandbox Code Playgroud)

我想列出$sourceDir上面数组中任何项目匹配的文件.

我可以做到这一点,它的工作原理:

foreach ($item in $matchPattern)
{
    Get-ChildItem $sourceDir | Where-Object {$_.Name -like $item}
}
Run Code Online (Sandbox Code Playgroud)

仅仅是为了学习目的,我可以用管道衬里吗?

与此类似的东西:

Get-ChildItem $sourceDir | Where-Object { $matchPattern -contains $_.Name  }
Run Code Online (Sandbox Code Playgroud)

man*_*lds 7

你可以这样做:

gci "$someDir\*" -include $matchPattern
Run Code Online (Sandbox Code Playgroud)