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

PowerShell的if语句中能否结合变量使用-like通配符匹配?

问题根因

-like 运算符的匹配规则是 左侧为待搜索的目标字符串,右侧为带通配符的匹配模式。你当前的代码逻辑是判断短字符串 matt($name 的值)是否包含更长的字符串 matt@($current 的值),显然不可能满足条件,因此匹配失败。

调整方案

如果你的需求是判断 $current 中是否包含 $name 的内容,调换判断条件的左右两侧即可:

$name = 'matt'
$current = 'matt@'

if ($current -like "*$name*"){
    write-host "this name matches"
}

如果你确实需要判断 $name 中是否包含 $current 的内容,需要先保证 $current 的值是 $name 的子串,匹配逻辑才能正常触发。

补充说明

  • -like 默认不区分大小写,需要大小写敏感匹配时可替换为 -clike
  • 仅判断包含关系也可以使用字符串原生方法:$current.Contains($name),该方法默认大小写敏感

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:36:02