使用Powershell选择最新包路径的更短方法

时间:2014-08-16 22:25:15

标签: powershell

目的是选择最新包装的路径。虽然代码有效,但应该有更短的方法。

路径

PS C:\temp> Get-Childitem "C:\google\*\SDK Manager.exe" | % { $_.FullName } | Sort-Object eventid -descending
C:\google\adt-bundle-windows-x86_64-20140702\SDK Manager.exe
C:\google\adt-bundle-windows-x86_64-20130702\SDK Manager.exe

选择最新的套餐路径

PS C:\temp> Get-Childitem "C:\google\*\SDK Manager.exe" | % { $_.FullName } | Sort-Object eventid -descending | Select-Object -first 1
C:\google\adt-bundle-windows-x86_64-20140702\SDK Manager.exe

1 个答案:

答案 0 :(得分:1)

我不认为在Sort-Object eventid -descending上排序是否有一个偶数?这是一个错误吗?如果您正在排序的内容不存在,Sort-Object将不会抛出错误。

你在寻找简洁吗?

(Get-ChildItem "C:\google\*\SDK Manager.exe").FullName | Sort-Object -Descending | Select-Object -First 1

可以使用别名缩短为:

(gci "C:\google\*\SDK Manager.exe").FullName | sort -Descending | Select -first 1