Использование Sort-Object

Когда нужно просмотреть определенный тип файла отсортировав его по номеру версии используют примерно такой код. Например для DLL:

dir $env:windir\system32 -filter *.dll |`
Select-Object -ExpandProperty VersionInfo |`
Select-Object FileName, ProductVersion | Sort-Object ProductVersion

Но такой пример некорректен, библиотеки будут отсортированны по алфавиту потому что преимущество имеет параметр ProductVersion. Но это легко исправить переписав код так:

dir $env:windir\system32 -filter *.dll |`
Select-Object -ExpandProperty VersionInfo |`
Select-Object FileName, ProductVersion |`
Sort-Object { try {[System.Version]$_.ProductVersion } catch { 0 }}

но нужно помнить, что в случае использования try/catch все файлы имеющие неправильный или «битый» формат будут выведены первыми.

Теги: ,

Понравилась статья? Оставьте комментарий или подпишитесь на RSS рассылку.

Комментарии

Комментариев пока что нет

Оставить комментарий

(required)

(required)