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)
@如果我的答案解决了你的问题,请把它标记为答案✔️