Цель состоит в том, чтобы выбрать путь к самому последнему пакету. Хотя код работает, должен быть более короткий путь.
Пути
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 ответ
Я не думаю, что есть время для сортировки по 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
Похожие вопросы
Новые вопросы
powershell
PowerShell - это кроссплатформенная утилита командной строки и сценариев от Microsoft. Используйте этот тег только для вопросов о написании и выполнении сценариев PowerShell. Вопросы программирования, относящиеся к кроссплатформенной версии PowerShell Core (Windows, macOS и Linux), должны быть помечены [powershell-core]. Вопросы о системном администрировании следует задавать в случае сбоя суперпользователя или сервера.