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 會使用別名,讓您熟悉使用提供者路徑的方式。 和 之類的dir
ls
命令現在是 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: