about_Variable_Provider

提供者名稱

變數

磁碟機

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 會使用別名,讓您熟悉使用提供者路徑的方式。 和 之類的dirls命令現在是 Get-ChildItem別名,cd是 Set-Location別名。 和 pwd 是 Get-Location別名。

顯示變數的值

取得目前會話中的所有變數

此命令會取得目前會話中所有變數及其值的清單。 您可以從任何 PowerShell 磁碟驅動器使用此命令。

Get-ChildItem -Path Variable:

使用其提供者路徑取得變數

此命令會使用以貨幣符號 ($) 開頭的提供者路徑來擷取變數值。 這與在變數名稱前面加上貨幣符號 ($) 的效果相同。

$variable:home

使用通配符取得變數

此命令會取得名稱開頭為 「max」 的變數。 您可以從任何 PowerShell 磁碟驅動器使用此命令。

Get-ChildItem -Path Variable:max*

取得的值? variable

此命令會使用 -LiteralPath Get-ChildItem參數,從磁碟驅動器內Variable:取得變數的值??是路徑中的通配符,但Get-ChildItem不會嘗試解析 參數值-LiteralPath中的任何通配符。

Get-ChildItem -Literalpath ?

取得 ReadOnly 和常數變數

此命令會取得其 ReadOnly Options 屬性值為 或 Constant變數。

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 命令,或使用 -Path Get-Help 的參數來指定檔案系統磁碟驅動器。

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

另請參閱