You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何在比较操作中正确使用逻辑OR运算符?

PowerShell逻辑OR运算符的正确用法

你的代码无法运行是因为逻辑运算符-or的语法使用错误,-or两侧必须是完整的比较表达式,不能只写一侧的运算符和匹配规则。

修正方案1:补全完整的比较表达式

在-or后面的-cmatch前补上$_.Name,保证两边都是完整的匹配判断:

Get-Childitem -Path G:\Path\Blabla -Include *.sql* -File -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -cmatch 'somefile1.sql' -or $_.Name -cmatch 'somefile2.sql'}

修正方案2:用正则表达式合并匹配规则

更简洁的方式是在单个-cmatch里用正则的|实现OR逻辑,注意转义文件名里的.(正则中.匹配任意字符,要用\.表示实际的点):

Get-Childitem -Path G:\Path\Blabla -Include *.sql* -File -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -cmatch 'somefile1\.sql|somefile2\.sql'}

更高效的方案:直接用-Include指定多个文件

不需要后续过滤步骤,直接在Get-ChildItem的-Include参数里列出目标文件名,性能更优:

Get-Childitem -Path G:\Path\Blabla -Include somefile1.sql, somefile2.sql -File -Recurse -ErrorAction SilentlyContinue

内容的提问来源于stack exchange,提问作者Jessy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:45:25