在 PowerShell 中获取卷号
Fetching volume number in PowerShell
我是 运行 PS cmdlet get-customcmdlet
正在生成以下输出
Name FreeSpaceGB
---- -----------
ABC-vol001 1,474.201
ABC-vol002 2,345.437
ABC-vol003 3,147.135
random-value 4,147.135
我想从最高的 volume number
中捕获 003
ABC-vol003
我也想忽略 random-value
并且只想考虑具有 [=17= 的值]里面
get-customcmdlet | select Name
Name
----
ABC-vol001
ABC-vol001
ABC-vol001
random-value
在这里,我希望 003
可以根据最高音量数字变化
您可以进行自定义排序,select 最后一项,例如:
Get-CustomCmdlet | Sort {$_.Name -replace '.*?(\d+)$',''} | Select -Last 1
编辑: 看起来你已经知道如何使用 Where
,因为你在编辑它之前在你的问题中有它,但你可以使用它仅获取名称中包含 'vol' 的卷,然后对这些卷进行排序...
Get-CustomCmdlet | Where{$_.Name -match '-vol\d+'} | Sort {$_.Name -replace '.*?(\d+)$',''} | Select -Last 1
我是 运行 PS cmdlet get-customcmdlet
正在生成以下输出
Name FreeSpaceGB
---- -----------
ABC-vol001 1,474.201
ABC-vol002 2,345.437
ABC-vol003 3,147.135
random-value 4,147.135
我想从最高的 volume number
中捕获 003
ABC-vol003
我也想忽略 random-value
并且只想考虑具有 [=17= 的值]里面
get-customcmdlet | select Name
Name
----
ABC-vol001
ABC-vol001
ABC-vol001
random-value
在这里,我希望 003
可以根据最高音量数字变化
您可以进行自定义排序,select 最后一项,例如:
Get-CustomCmdlet | Sort {$_.Name -replace '.*?(\d+)$',''} | Select -Last 1
编辑: 看起来你已经知道如何使用 Where
,因为你在编辑它之前在你的问题中有它,但你可以使用它仅获取名称中包含 'vol' 的卷,然后对这些卷进行排序...
Get-CustomCmdlet | Where{$_.Name -match '-vol\d+'} | Sort {$_.Name -replace '.*?(\d+)$',''} | Select -Last 1