如何在不使用括号的情况下在Powershell中获取对象的属性?


13

我经常发现我必须将命令括在括号中,然后使用属性访问运算符(点语法)来获取属性的值。这很烦人,因为当我只想继续输入自己所在的位置时,我必须回到该行的开头。当我遇到大量管道命令时,这尤其令人讨厌。

如果我有以下命令

Get-PSProvider FileSystem

我想获取该Drives属性,则必须首先将整个命令放在括号中:

(Get-PSProvider FileSystem).Drives

是否有更快的方法来获取单个属性的值?

Answers:


14

您可以使用Select-Object -ExpandProperty <property name>。可以使用别名select并仅键入属性名称的一部分来缩短此时间:

Get-PSProvider FileSystem| select -exp Drives

此方法的另一个好处是,您可以访问多个对象的单个属性。

这将不会返回任何内容(更新:在PowerShell v3中有效。):

(Get-PSProvider).Drives

但是,这将为所有提供程序返回驱动器:

Get-PSProvider| select -exp Drives

很有意思。谢谢你的纠正。
soandos 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.