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

PowerShell if命令使用问题:URL含点判断条件始终触发告警

问题根因

  • 代码中错误使用了大于比较运算符-gt,该运算符的作用是判断左侧值是否大于右侧值,和你预期的「判断是否包含字符」的逻辑完全不符。
  • PowerShell的字符串-gt比较采用字典序规则,绝大多数正常输入的URL字符串字典序都大于.,因此判断条件几乎永远成立,就会出现无论输入什么都弹窗的问题。
  • 该写法本身不存在语法错误,所以运行过程中不会返回任何报错信息。

修复方案

判断字符串不包含英文点号,可以任选以下一种写法替换原有判断逻辑:

方案1:使用通配符匹配运算符-notlike

$url = Read-Host 'URL'
if ($url -notlike "*.") {
    msg * "The title does not contain(.)"
}

方案2:使用正则匹配运算符-notmatch

$url = Read-Host 'URL'
if ($url -notmatch '\.') {
    msg * "The title does not contain(.)"
}

方案3:调用.NET字符串原生Contains方法

$url = Read-Host 'URL'
if (-not $url.Contains('.')) {
    msg * "The title does not contain(.)"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:00:05