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

使用Powershell选择最新包路径的较短方法,powershell,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-2013

目的是选择最新包的路径。虽然代码可以工作,但应该有一个更短的方法

路径

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

我不认为有一个eventid可以排序
排序对象eventid-降序
?这是个错误吗?如果排序对象不存在,则排序对象不会抛出并出错

你在追求简洁吗

(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