Windows 以PS表示的剥离值,如果是整数值,则进行比较

Windows 以PS表示的剥离值,如果是整数值,则进行比较,windows,powershell,powershell-3.0,powershell-4.0,powershell-remoting,Windows,Powershell,Powershell 3.0,Powershell 4.0,Powershell Remoting,我正在运行PS cmdletget customcmdlet,它正在生成以下输出 Name FreeSpaceGB ---- ----------- ABC-vol001 1,474.201 我有另一个变量$var=vol 现在,我只想去掉001,然后检查它是否是一个整数 我正在使用但得到空值 $vdetails = get-customcmdlet | spli

我正在运行PS cmdlet
get customcmdlet
,它正在生成以下输出

Name                         FreeSpaceGB
----                         -----------
ABC-vol001                   1,474.201
我有另一个变量
$var=vol
现在,我只想去掉
001
,然后检查它是否是一个整数

我正在使用但得到空值

$vdetails = get-customcmdlet | split($var)[1]
$vnum = $vdetails -replace '.*?(\d+)$','$1'

我的结果应该是整数
001

假设:
get-customcmdlet
返回一个
pscustomobject
对象,该对象的属性
名称
类型为
字符串

$var = 'vol'
$null -ne ((get-customcmdlet).Name -split $var)[1] -as [int]
此表达式将根据强制转换是否成功返回
$true
$false


如果您的目标是填充零,那么您需要在事实发生后再这样做(在本例中,我只是捕获了原始字符串):


假设:
get-customcmdlet
正在返回一个
pscustomobject
对象,该对象的属性
Name
类型为
string

$var = 'vol'
$null -ne ((get-customcmdlet).Name -split $var)[1] -as [int]
此表达式将根据强制转换是否成功返回
$true
$false


如果您的目标是填充零,那么您需要在事实发生后再这样做(在本例中,我只是捕获了原始字符串):


我得到的是
False
,即使
001
是整数值。我应该把
True
作为output@meallhour我用错了方法。检查我的更新我得到的是
False
,即使
001
是整数值。我应该把
True
作为output@meallhour我用错了方法。检查我的更新