当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 关于变量提供者

作者:精品下载站 日期:2024-12-14 02:17:23 浏览:15 分类:玩电脑

关于变量提供者


提供商名称

多变的

驱动器

Variable:

能力

应该处理

简短描述

提供对 PowerShell 变量及其值的访问。

详细说明

PowerShell 变量提供程序允许您在当前控制台中获取、添加、更改、清除和删除 PowerShell 变量。

PowerShell 变量提供程序支持 PowerShell 创建的变量,包括自动变量、首选项变量和您创建的变量。

变量驱动器是一个平面命名空间,仅包含变量对象。这些变量没有子项。

变量提供程序支持以下 cmdlet,本文将介绍这些内容。

  • Get-Location
  • Set-Location
  • Get-Item
  • New-Item
  • Remove-Item
  • Clear-Item

PowerShell 还包括一组专门用于查看和更改变量的 cmdlet。使用Variable cmdlet 时,无需在名称中指定Variable: 驱动器。本文不介绍如何使用Variable cmdlet。

  • Get-Variable
  • New-Variable
  • Set-Variable
  • Remove-Variable
  • Clear-Variable

笔记

您还可以使用 PowerShell 表达式解析器来创建、查看和更改变量的值,而无需使用 cmdlet。直接使用变量时,使用美元符号 ($) 将名称标识为变量,并使用赋值运算符 (=) 来建立和更改其值。例如,$p=Get-Process 创建 p 变量并在其中存储 Get-Process 命令的结果。

该提供者公开的类型

变量可以是几种不同类型之一。大多数变量都是 PSVariable 类的实例。下面列出了其他变量及其类型。

  • ? 变量是 QuestionMarkVariable 类的实例。
  • null 变量是 NullVariable 类的实例。
  • 最大计数变量是 SessionStateCapacityVariable 类的实例。
  • LocalVariable 实例包含有关当前执行的信息,例如:

      MyInvocation
    PSCommandPath
    PSScriptRoot
    PSBoundParameters
    args
    input

    浏览变量驱动器

    Variable 提供程序在 Variable: 驱动器中公开其数据存储。要使用变量,您可以将位置更改为 Variable: 驱动器 (Set-Location Variable:),也可以从任何其他 PowerShell 驱动器进行操作。要从其他位置引用变量,请在路径中使用驱动器名称 (Variable:)。

    Set-Location Variable:
    

    要返回到文件系统驱动器,请键入驱动器名称。例如,输入:

    Set-Location C:
    

    您还可以使用任何其他 PowerShell 驱动器中的变量提供程序。要从其他位置引用变量,请在路径中使用驱动器名称 Variable:

    笔记

    PowerShell 使用别名让您能够以熟悉的方式使用提供程序路径。 dirls 等命令现在是 Get-ChildItem 的别名,cd 是 Set-Location 的别名。 pwd 是 Get-Location 的别名。

    显示变量的值

    获取当前会话中的所有变量

    此命令获取当前会话中所有变量及其值的列表。您可以从任何 PowerShell 驱动器使用此命令。

    Get-ChildItem -Path Variable:
    

    使用变量的提供者路径获取变量

    此命令使用以美元符号 ($) 为前缀的提供程序路径检索变量值。这与在变量名称前添加美元符号 ($) 具有相同的效果。

    $variable:home
    

    使用通配符获取变量

    此命令获取名称以“max”开头的变量。您可以从任何 PowerShell 驱动器使用此命令。

    Get-ChildItem -Path Variable:max*
    

    获取 的值?多变的

    此命令使用 Get-ChildItem 的 -LiteralPath 参数从 Variable: 驱动器中获取 ? 变量的值。 ? 是路径中的通配符,但 Get-ChildItem 不会尝试解析 -LiteralPath 参数值中的任何通配符。

    Get-ChildItem -Literalpath ?
    

    获取只读变量和常量变量

    此命令获取其 Options 属性值为 ReadOnlyConstant 的变量。

    Get-ChildItem -Path Variable: | Where-Object {
       $_.options -Match "Constant" `
       -or $_.options -Match "ReadOnly"
     } | Format-List -Property name, value, options
    

    创建变量

    创建一个新变量

    此命令创建 services 变量并在其中存储 Get-Service 命令的结果。由于当前位置位于 Variable: 驱动器中,因此 -Path 参数的值为点 (.),代表当前位置地点。

    Get-Service 命令两边的括号确保该命令在创建变量之前执行。如果没有括号,新变量的值是“Get-Service”字符串。

    New-Item -Path . -Name services -Value (Get-Service)
    

    使用绝对路径创建变量

    此命令创建一个 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 命令或使用 Get-Help 的 -Path 参数指定文件系统驱动器。

    Get-Help Get-ChildItem
    
    Get-Help Get-ChildItem -Path variable:
    

    参见

    • about_Automatic_Variables
    • about_Providers
    • about_变量

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯