Get-Variable
获取当前控制台中的变量。
语法
Get-Variable [[-Name] <string[]>] [-Exclude <string[]>] [-Include <string[]>] [-Scope <string>] [-ValueOnly] [<CommonParameters>]
说明
Get-Variable cmdlet 获取当前控制台中的 Windows PowerShell 变量。通过指定 ValueOnly 参数可以只检索变量的值,还可以按名称筛选返回的变量。
参数
-Exclude <string[]>
忽略指定项。允许使用通配符。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Include <string[]>
指定 cmdlet 只对这些项执行操作,排除其他所有项。允许使用通配符。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Name <string[]>
指定变量的名称。
是否为必需? |
false |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByValue, ByPropertyName) |
是否接受通配符? |
false |
-Scope <string>
仅获取指定作用域中的变量。有效值包括“Global”、“Local”、“Script”或者相对于当前作用域的数字(0 到作用域数,其中 0 是指当前作用域,1 是指其父作用域)。默认值为“Local”。有关详细信息,请参阅 about_Scopes。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-ValueOnly
只获取变量的值。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
System.String 可以通过管道将包含变量名称的字符串传递给 Get-Variable。 |
输出 |
变量对象 Get-Variable 为它所获取的每个变量返回一个 System.Management.Automation 变量对象。对象类型取决于变量。 |
说明
此 cmdlet 不管理环境变量。若要管理环境变量,可以使用环境变量提供程序。
示例 1
C:\PS>get-variable m*
说明
-----------
此命令显示名称以字母“m”开头的变量。还将显示变量的值。
示例 2
C:\PS>get-variable m* -valueonly
说明
-----------
此命令只显示名称以字母“m”开头的变量的值。
示例 3
C:\PS>get-variable -include M*,P* | sort-object name
说明
-----------
此命令获取以字母“M”或字母“P”开头的变量的相关信息。结果将通过管道传递给 Sort-Object cmdlet,先按名称排序,然后显示。
示例 4
C:\PS>get-variable -scope 0
C:\PS> compare-object (get-variable -scope 0) (get-variable -scope 1)
说明
-----------
第一个命令仅获取当前作用域中定义的变量。它等效于“get-variable -scope local”,可以缩写为“gv -s 0”。
第二个命令使用 Compare-Object cmdlet 来查找在父作用域 (Scope 1) 中定义的、但仅在当前作用域 (Scope 0) 中可见的变量。