簡體   English   中英

您如何在Powershell中進行編碼以從數組中獲取最新日期?

[英]How do you code in Powershell to get the latest date from an array?

我的文件夾如下:-10-17-17-10-18-17-10-19-17-10-20-17

我想讓PS吐出10-20-17是我文件夾結構中的最新文件夾。 我沒有線索可以從這里走:

$path = "C:\Users\JJames\Desktop\Folder Structure Test"

$todaydate = Get-Date -Format "MM-dd-yy"

$arr = Get-ChildItem $path | 
       Where-Object {$_.PSIsContainer} | 
       Foreach-Object {$_.Name}

我能夠吐出每個文件夾的名稱。

您應該能夠對對象進行排序:

$path = "C:\Users\JJames\Desktop\Folder Structure Test"

$todaydate = Get-Date -Format "MM-dd-yy"

$folders = Get-ChildItem $path | 
    Where-Object {$_.PSIsContainer}

$folders | Sort-Object { [DateTime]::Parse($_.Name)} -Descending

這是簡短的方法,沒有錯誤處理日期格式。

僅獲得第一項(堅持超級快捷簡便)

 ($dateStrings | Sort{ [DateTime]::Parse($_.Name)} -Descending)[0]

嘗試這個:

$path = "C:\temp"
$dirDate=New-Object DateTime

Get-ChildItem $path -Directory | %{

    if ([DateTime]::TryParseExact($_.Name, 
                                    "MM-dd-yy", 
                                    [System.Globalization.CultureInfo]::InvariantCulture, 
                                    [System.Globalization.DateTimeStyles]::None,
                                    [ref] $dirDate)
       )
    {
        $_ | Add-Member -MemberType NoteProperty "DateName" -Value $dirDate
        $_
    }

} | sort DateName -Descending | select -First 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM