首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通配符过滤

通配符过滤
EN

Stack Overflow用户
提问于 2019-08-12 13:18:50
回答 2查看 633关注 0票数 0

如何使用通配符来过滤结果,使其像这样使用Get-ChildItem | Where-Object

代码语言:javascript
复制
ApplicationName 20XX - English

无论我使用什么通配符或运算符(-match-like-eq),它都不会返回任何东西,或者比我想要的更多的东西。

基本上,我只想让数字“通配符”搜索2017到2020年,而剩下的字符串则是静态的。这有可能吗?

我的想法有点像,但不幸的是,我无法使它发挥作用:

代码语言:javascript
复制
Where-Object DisplayName -eq 'Application 20[17-20] - English'   
Where-Object DisplayName -Match 'Application 20%% - English'   
Where-Object DisplayName -eq 'Application 20* - English' 

重要的是,只有数字是相对的。

注意:不幸的是,在此设置中不喜欢Get-WMIobject

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-12 14:24:27

-like用于通配符。最简单的办法是:

代码语言:javascript
复制
Where-Object DisplayName -like 'Application 20* - English' 

或在regex:

代码语言:javascript
复制
Where-Object DisplayName -match 'Application 20.* - English'   
Where-Object DisplayName -match 'Application 20.. - English'   

您可以使用get- could项目尝试-path:(-filter不支持方括号)

代码语言:javascript
复制
get-childitem -path 'Application 20[1-2][07-9] - English'   
get-childitem -path 'Application 20* - English'   
get-childitem -path 'Application 20?? - English'   
get-childitem -filter 'Application 20* - English'   
get-childitem -filter 'Application 20?? - English'   

-filter可能更快,但也与文件名的短版本相匹配。

票数 1
EN

Stack Overflow用户

发布于 2019-08-12 13:59:08

对于PowerShell通配符模式(注意它是-like运算符,而不是-eq-match):

代码语言:javascript
复制
# matches 2010 through 2029
Where-Object DisplayName -like 'Application 20[1-2][0-9] - English' 

# or, narrowly matching only 2017 through 2020
Where-Object {$_.DisplayName -like 'Application 201[7-9] - English' -or $_.DisplayName -like 'Application 2020 - English'}

另一方面,-match支持regex,它允许交互模式:

代码语言:javascript
复制
Where-Object DisplayName -match 'Application 20(?:1[7-9]|20) - English' 

我知道您提到不希望将过滤卸载到WQL,但是如果您想要:

代码语言:javascript
复制
Get-CimInstance -Class Win32_WhateverClassYouQuery -Filter 'DisplayName LIKE "Application 201[7-9] - English" OR DisplayName = "Application 2020 - English"'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57461997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档