Get-Variable

Gets the variables in the current console.

语法

Default (默认值)

Get-Variable
    [[-Name] <String[]>]
    [-ValueOnly]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Scope <String>]
    [<CommonParameters>]

说明

The Get-Variable cmdlet gets the PowerShell variables in the current console. You can retrieve just the values of the variables by specifying the ValueOnly parameter, and you can filter the variables returned by name.

示例

Example 1: Get variables by letter

This command gets variables with names that begin with the letter m. The command also gets the value of the variables.

Get-Variable m*

Example 2: Get variable values by letter

This command gets only the values of the variables that have names that begin with m.

Get-Variable m* -ValueOnly

Example 3: Get variables by two letters

This command gets information about the variables that begin with either the letter M or the letter P.

Get-Variable -Include M*,P*

Example 4: Get variables by scope

The first command gets only the variables that are defined in the local scope. It is equivalent to Get-Variable -Scope Local and can be abbreviated as gv -s 0.

The second command uses the Compare-Object cmdlet to find the variables that are defined in the parent scope (Scope 1) but are visible only in the local scope (Scope 0).

Get-Variable -Scope 0
Compare-Object (Get-Variable -Scope 0) (Get-Variable -Scope 1)

参数

-Exclude

Specifies an array of items that this cmdlet excludes from the operation. Wildcards are permitted.

参数属性

类型:

String[]

默认值:None
支持通配符:True
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Include

Specifies an array of items upon which the cmdlet will act, excluding all others. Wildcards are permitted.

参数属性

类型:

String[]

默认值:None
支持通配符:True
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

Specifies the name of the variable. Wildcards are permitted. You can also pipe a variable name to Get-Variable.

参数属性

类型:

String[]

默认值:None
支持通配符:True
不显示:False

参数集

(All)
Position:0
必需:False
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Scope

Specifies the variables in the scope.The acceptable values for this parameter are:

  • Global
  • Local
  • Script
  • A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent)

Local is the default. For more information, see about_Scopes.

参数属性

类型:String
默认值:Local
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ValueOnly

Indicates that this cmdlet gets only the value of the variable.

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

输入

String

You can pipe a string that contains the variable name to Get-Variable.

输出

PSVariable

This cmdlet returns a System.Management.AutomationPSVariable object for each variable that it gets. The object type depends on the variable.

Object

When you specify the ValueOnly parameter, if the specified variable's value is a collection, Get-Variable returns a [System.Object[]]. This behavior prevents normal pipeline operation from processing the variable's values one at a time. A workaround to force collection enumeration is to enclose the Get-Variable command in parenthesis.

备注

  • This cmdlet does not manage environment variables. To manage environment variables, you can use the environment variable provider.