12

Я часто нахожу, что мне нужно заключить команду в круглые скобки, а затем использовать оператор доступа к свойству (точка-синтаксис), чтобы получить значение свойства. Это довольно раздражает, так как мне приходится возвращаться к началу строки, когда я просто продолжаю печатать, где я нахожусь. Это особенно раздражает, когда я нахожусь в середине большого набора переданных команд.

пример

Если у меня есть следующая команда

Get-PSProvider FileSystem

и я хочу получить свойство Drives , мне нужно сначала заключить всю команду в скобки:

(Get-PSProvider FileSystem).Drives

Есть ли более быстрый способ получить значение одного свойства?

1 ответ1

14

Вы можете использовать Select-Object -ExpandProperty <property name> . Это может быть сокращено, используя псевдоним select и введя только часть имени свойства:

Get-PSProvider FileSystem| select -exp Drives

Дополнительным преимуществом этого метода является то, что вы можете получить доступ к одному свойству для нескольких объектов.

Это ничего не вернет (обновление: это работает в PowerShell v3.):

(Get-PSProvider).Drives

Однако это вернет диски для всех провайдеров:

Get-PSProvider| select -exp Drives

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .