【问题标题】:Get Maximum String获取最大字符串
【发布时间】:2022-11-14 14:24:51
【问题描述】:

我将如何获得最大日期的文件?

BACKUP-20220114.BAK
BACKUP-20220118.BAK
BACKUP-20220120.BAK

我将如何选择具有最大日期值的文件? 我试着只找到最大的字符串,但是在 powershell 中并没有以这种方式比较字符串。

ls BACKUP* | select-object -Property Name | Measure-Object -Maximum
Measure-Object : Cannot compare "@{Name=BACKUP-20221028.bak}" because it is not IComparable. 

如何用IComparable 填充字符串?

【问题讨论】:

  • 根据您显示的内容,为什么不按升序排序并选择第一个?

标签: powershell


【解决方案1】:

根据我的评论。

(
$BackUpDates = @'
BACKUP-20220114.BAK
BACKUP-20220118.BAK
BACKUP-20220120.BAK
'@  | 
ConvertFrom-Csv -Header BackupDetail
)

# Results
<#
BackupDetail       
------------       
BACKUP-20220114.BAK
BACKUP-20220118.BAK
BACKUP-20220120.BAK
#>

$BackUpDates | 
Sort-Object -Property BackupDetail -Descending
# Results
<#
BackupDetail       
------------       
BACKUP-20220120.BAK
BACKUP-20220118.BAK
BACKUP-20220114.BAK
#>


$BackUpDates | 
Sort-Object -Property BackupDetail -Descending | 
Select-Object -First 1
# Results
<#
BackupDetail       
------------       
BACKUP-20220120.BAK
#>

Get-Content -path 'variable:BackUpDates' | 
ConvertFrom-Csv -Header BackUpDate | 
Sort-Object -Property BackUpDate -Descending |
Select-Object -First 1
# Results
<#
BackUpDate         
----------         
BACKUP-20220120.BAK
#>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多