Цель состоит в том, чтобы выбрать путь к самому последнему пакету. Хотя код работает, должен быть более короткий путь.

Пути

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
0
030 17 Авг 2014 в 02:25

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
1
Matt 17 Авг 2014 в 02:42