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

PowerShell函数内字符串相等运算符无法正常工作问题求助

PowerShell函数相等判断不符合预期的问题解决

你的问题出在函数调用的参数传递方式上,而非相等运算符-eq本身。

在PowerShell中,调用函数时不需要用括号包裹参数,也不能用逗号分隔多个参数——这种写法会被解析成将一个数组作为单个参数传入函数。你的MatchCheck("test", "test")实际上是把数组@("test", "test")赋值给了第一个参数$input_text_1,而第二个参数$input_text_2会被设为$null。此时$input_text_1 -eq $input_text_2就是数组和$null比较,结果自然是$false。

修正后的调用方式

直接用空格分隔参数即可:

MatchCheck "test" "test"

优化后的函数(可选)

其实不需要写冗余的if/else,直接返回比较结果更简洁:

function MatchCheck($input_text_1, $input_text_2)
{
    return $input_text_1 -eq $input_text_2
}

MatchCheck "test" "test"

这样调用后会正确返回$true。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:46:59