Powershell 比较参数工作不正常
我正在为我的一个脚本使用以下比较参数:Powershell 比较参数工作不正常,powershell,Powershell,我正在为我的一个脚本使用以下比较参数: $FreeSpace -lt 5550 结果应该是true,但它会显示false。考虑到$FreeSpace值仅为600 面对这种行为正常吗?问题是将字符串与整数进行比较。运算符将尝试转换此值,但它不会像字符串所期望的那样。如果将类型强制转换为匹配,则应获得预期结果: > $FreeSpace = '600' > [int]$FreeSpace -lt 5550 >> True $FreeSpace变量的类型是什么?我怀疑你是在
$FreeSpace -lt 5550
结果应该是true
,但它会显示false
。考虑到$FreeSpace
值仅为600
面对这种行为正常吗?问题是将字符串与整数进行比较。运算符将尝试转换此值,但它不会像字符串所期望的那样。如果将类型强制转换为匹配,则应获得预期结果:
> $FreeSpace = '600'
> [int]$FreeSpace -lt 5550
>> True
$FreeSpace
变量的类型是什么?我怀疑你是在比较整数和字符串。选中:$FreeSpace.GetType().FullName
是,它是一个字符串$FreeSpace
->([int]$FreeSpace)
@如果我的答案解决了你的问题,请把它标记为答案✔️