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

PowerShell向if条件数字范围传多个值返回False如何解决

问题原因
  • Read-Host命令的返回值默认是字符串类型,你输入的101、102实际存储为字符串格式的"101"、"102",而100..300生成的是整数类型的数组,不同类型的值做-in匹配时无法命中,因此返回非预期的False。
解决方案

方案1:转换变量类型后使用-in判断

将读取到的输入显式转换为整数类型,再进行范围匹配,代码示例:

$a = [int](Read-Host "enter number")
$a -In 100..300

方案2:使用比较运算符直接判断(更推荐)

如果判断的范围跨度很大,生成100..300这类全量数组会额外占用内存,直接用数值比较逻辑性能更优,代码示例:

$a = Read-Host "enter number"
[int]$a -ge 100 -and [int]$a -le 300

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:09:01