变量提供程序
提供程序名称
变量
驱动器
Variable:
功能
ShouldProcess
简短说明
提供对 PowerShell 变量及其值的访问权限。
详细说明
PowerShell 变量 提供程序允许在当前控制台中获取、添加、更改、清除和删除 PowerShell 变量。
PowerShell 变量 提供程序支持 PowerShell 创建的变量,包括自动变量、首选项变量和创建的变量。
Variable 驱动器是仅包含变量对象的平面命名空间。 这些变量没有子项。
Variable 提供程序支持本文中介绍的以下 cmdlet。
PowerShell 还包括一组专为查看和更改变量而设计的 cmdlet。 使用 Variable cmdlet 时,无需在 Variable:
名称中指定驱动器。 本文不介绍如何使用 Variable cmdlet。
注意
还可以使用 PowerShell 表达式分析程序来创建、查看和更改变量的值,而无需使用 cmdlet。 直接使用变量时,请使用美元符号 ($
) 将名称标识为变量,而赋值运算符 (=
) 来建立和更改其值。 例如, $p = Get-Process
创建 变量并将 p
命令的结果 Get-Process
存储在其中。
此提供程序公开的类型
变量可以是几种不同的类型之一。 大多数变量将是 类的 PSVariable
实例。 下面列出了其他变量及其类型。
- 变量
?
是 类的QuestionMarkVariable
实例。 - 变量
null
是 类的NullVariable
实例。 - 最大计数变量是 类的
SessionStateCapacityVariable
实例。 LocalVariable
实例包含有关当前执行的信息,例如:MyInvocation
PSCommandPath
PSScriptRoot
PSBoundParameters
args
input
导航可变驱动器
变量提供程序在驱动器中Variable:
公开其数据存储。 若要使用变量,可以将位置 Variable:
更改为驱动器 (Set-Location Variable:
) ,也可以从任何其他 PowerShell 驱动器工作。 若要从另一个位置引用变量,请在路径中使用驱动器名称 (Variable:
) 。
Set-Location Variable:
若要返回到文件系统驱动器,请键入驱动器名称。 例如,键入:
Set-Location C:
还可以使用任何其他 PowerShell 驱动器中的 变量 提供程序。 若要从另一个位置引用变量,请在路径中使用驱动器名称 Variable:
。
注意
PowerShell 使用别名使你能够熟悉地使用提供程序路径。 和 ls
等dir
命令现在是 Get-ChildItem 的别名,cd
是 Set-Location 的别名。 和 pwd
是 Get-Location 的别名。
显示变量的值
获取当前会话中的所有变量
此命令将获取当前会话中所有变量及其值的列表。 可以从任何 PowerShell 驱动器使用此命令。
Get-ChildItem -Path Variable:
使用变量的提供程序路径获取变量
此命令使用以美元符号 ($
) 前缀的提供程序路径检索变量值。 这与在变量名称前面加上美元符号 () $
具有相同的效果。
$variable:home
使用通配符获取变量
此命令将获取名称以“max”开头的变量。 可以从任何 PowerShell 驱动器使用此命令。
Get-ChildItem -Path Variable:max*
获取 ? 的值 可变
此命令使用 -LiteralPath
Get-ChildItem 的 参数从驱动器内Variable:
获取变量的值?
。 ?
是路径中的通配符,但不Get-ChildItem
尝试解析 参数值-LiteralPath
中的任何通配符。
Get-ChildItem -Literalpath ?
获取 ReadOnly 和 Constant 变量
此命令获取其 Options 属性值为 或 Constant
的变量ReadOnly
。
Get-ChildItem -Path Variable: | Where-Object {
$_.options -Match "Constant" `
-or $_.options -Match "ReadOnly"
} | Format-List -Property name, value, options
创建变量
Create新变量
此命令创建 变量并将 services
命令的结果 Get-Service
存储在其中。 由于当前位置位于驱动器中 Variable:
,因此 参数的 -Path
值为点 (.
) ,表示当前位置。
命令周围的 Get-Service
括号可确保在创建变量之前执行命令。 如果没有圆括号,则新变量的值将为“Get-Service”字符串。
New-Item -Path . -Name services -Value (Get-Service)
使用绝对路径Create变量
此命令创建一个 services
变量,并将命令的结果 Get-Service
存储在其中。
New-Item -Path Variable:services -Value Get-Service
若要创建不含值的变量,请省略赋值运算符。
更改变量
重命名变量
此命令使用 Rename-Item
cmdlet 将变量的名称 a
更改为 processes
。
Rename-Item -Path Variable:a -NewName processes
更改变量的值
此命令使用 Set-Item
cmdlet 将变量的值 ErrorActionPreference
更改为“Stop”。
Set-Item -Path Variable:ErrorActionPreference -Value Stop
复制变量
此命令使用 Copy-Item
cmdlet 将 processes
变量 old_processes
复制到 。 这会创建一个名为 old_processes
的新变量,该变量的值与该 processes
变量的值相同。
Copy-Item -Path Variable:processes -Destination Variable:old_processes
删除变量
此命令从当前会话中删除 serv
变量。 可以在任何 PowerShell 驱动器中使用此命令。
Remove-Variable -Path Variable:serv
使用 -Force 参数删除变量
此命令从当前会话中删除除 Options 属性值为 的 Constant
变量之外的所有变量。 -Force
如果没有 参数,该命令不会删除其 Options 属性的值为 的ReadOnly
变量。
Remove-Item Variable:* -Force
将变量的值设置为 NULL
此命令使用 Clear-Item
cmdlet 将变量的值 processes
更改为 NULL。
Clear-Item -Path Variable:processes
使用管道
提供程序 cmdlet 接受管道输入。 可以使用管道通过将提供程序数据从一个 cmdlet 发送到另一个提供程序 cmdlet 来简化任务。 若要详细了解如何将管道与提供程序 cmdlet 配合使用,请参阅本文中提供的 cmdlet 参考。
获取帮助
从 Windows PowerShell 3.0 开始,你可以获取有关提供程序 cmdlet 的自定义帮助主题,它们介绍了这些 cmdlet 在文件系统驱动器中的行为方式。
若要获取为文件系统驱动器自定义的帮助主题,请在文件系统驱动器中运行 Get-Help 命令,或使用 -Path
Get-Help 的 参数指定文件系统驱动器。
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: