about_Variable_Provider
提供者名稱
變數
磁碟機
Variable:
功能
ShouldProcess
簡短描述
提供 PowerShell 變數及其值的存取權。
詳細描述
PowerShell 變數 提供者可讓您在目前的控制台中取得、新增、變更、清除和刪除 PowerShell 變數。
PowerShell 變數 提供者支援 PowerShell 所建立的變數,包括自動變數、喜好設定變數,以及您建立的變數。
變數磁碟驅動器是只包含變數物件的一般命名空間。 變數沒有任何子項目。
變數提供者支援本文涵蓋的下列 Cmdlet。
PowerShell 也包含一組專為檢視和變更變數而設計的 Cmdlet。 當您使用 變數 Cmdlet 時,您不需要在名稱中指定 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*
取得的值? 變動
此命令會使用 -LiteralPath
Get-ChildItem 的 參數,從磁碟驅動器內Variable:
取得變數的值?
。 ?
是路徑中的通配符,但Get-ChildItem
不會嘗試解析 參數值-LiteralPath
中的任何通配符。
Get-ChildItem -Literalpath ?
取得 ReadOnly 和常數變數
此命令會取得具有 其 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 將變數old_processes
複製到 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: