Get-Location
取得目前工作位置的相關資訊。
語法
Get-Location [-PSDrive <string[]>] [-PSProvider <string[]>] [-UseTransaction] [<CommonParameters>]
Get-Location [-Stack] [-StackName <string[]>] [-UseTransaction] [<CommonParameters>]
描述
Get-Location Cmdlet 取得表示目前目錄的物件,與 pwd (列印工作目錄) 命令非常相似。
當您在不同的 Windows PowerShell 磁碟機之間移動時,Windows PowerShell 會保留您在每一個磁碟機上的位置。您可以使用 Get-Location 尋找您於每一個磁碟機上的位置。
也可以使用 Get-Location 於執行階段取得目前的目錄,並以函數及指令碼使用該命令,例如在 Windows PowerShell 提示中顯示目前目錄的函數。
如果使用 Push-Location Cmdlet 在路徑堆疊中加入位置,那麼您可以使用 Get-Location 的 Stack 參數顯示目前的堆疊。
參數
-PSDrive <string[]>
取得位於指定之 Windows PowerShell 磁碟機的目前位置。
例如,如果您位於 Certificate: 磁碟機上,便可以使用這個參數在 C: 磁碟機中尋找您目前的位置。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-PSProvider <string[]>
取得位於指定之 Windows PowerShell 提供者所支援之磁碟機的目前位置。
如果指定的提供者支援多個磁碟機,則 Get-Location 會傳回最近所存取之磁碟機上的位置。
例如,如果您位於 C: 磁碟機上,便可以使用這個參數在 Windows PowerShell 登錄提供者磁碟機中尋找您目前的位置。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Stack
顯示預設路徑堆疊中的位置。
若要在預設堆疊中新增路徑,請使用 Push-Location Cmdlet。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-StackName <string[]>
顯示指定路徑堆疊中的位置。
若要建立路徑堆疊,請使用 Push-Location Cmdlet。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-UseTransaction
將命令加入現用交易中。此參數只有當交易進行中時才有效。如需詳細資訊,請參閱 about_Transactions。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
無 您無法經由管道將輸入輸出至這個 Cmdlet。 |
輸出 |
PathInfo 物件或 StackInfo 物件 如果您使用 Stack 或 StackName 參數,Get-Location 會傳回 StackInfo 物件。否則,它會傳回 PathInfo 物件。 |
附註
位置可以儲存在堆疊上。Push-Location Cmdlet 會將位置加入至堆疊的最上方。Pop-Location Cmdlet 會取得位於堆疊最上方的位置。
PSProvider、PSDrive、Stack 和 StackName 參數的互動方式取決於提供者。有些組合會造成錯誤,例如同時指定磁碟機以及未公開該磁碟機的提供者。如果沒有指定任何參數,Get-Location 就會針對包含目前工作位置的提供者傳回 PathInfo 物件。
Get-Location Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PSProvider"。如需詳細資訊,請參閱 about_Providers。
範例 1
C:\PS>get-location
Path
----
C:\WINDOWS
描述
-----------
這個命令會顯示您在目前 Windows PowerShell 磁碟機中的位置。
例如,如果您目前位於 C: 磁碟機的 Windows 目錄中,便會顯示該目錄的路徑。
範例 2
C:\PS>set-location
描述
-----------
這些命令示範 Get-Location 的用法,顯示您位於不同 Windows PowerShell 磁碟機的目前位置。
第一個命令使用 Set-Location Cmdlet,將目前的位置設定為 C: 磁碟機的 Windows 子目錄。
C:\PS> set-location C:\Windows
第二個命令使用 Set-Location Cmdlet,將位置變更為 HKLM:\Software\Microsoft 登錄機碼。當您變更為 HKLM: 磁碟機上的位置時,Windows PowerShell 會保留您在 C: 磁碟機上的位置。
PS C:\WINDOWS> set-location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>
第三個命令使用 Set-Location Cmdlet,將位置變更為 "HKCU:\Control Panel\Input Method" 登錄機碼。
PS HKLM:\Software\Microsoft> set-location 'HKCU:\Control Panel\Input Method'
PS HKCU:\Control Panel\Input Method>
第四個命令使用 Get-Location Cmdlet,尋找 C: 磁碟機上的目前位置。它會使用 PSDrive 參數指定磁碟機。
PS HKCU:\Control Panel\Input Method> get-location -psdrive c
路徑
----
C:\WINDOWS
第五個命令使用 Set-Location Cmdlet 返回 C: 磁碟機。即使此命令沒有指定子目錄,Windows PowerShell 仍然會讓您返回已儲存的位置。
PS HKCU:\Control Panel\Input Method> set-location C:
PS C:\WINDOWS>
第六個命令使用 Get-Location Cmdlet,尋找 Windows PowerShell 登錄提供者支援之磁碟機中的目前位置。Get-Location 會傳回最近所存取之登錄磁機 (HKCU:) 的位置。
PS C:\WINDOWS> get-location -psprovider registry
路徑
----
HKCU:\Control Panel\Input Method
若要檢視 HKLM: 磁碟機中的目前位置,您必須使用 PSDrive 參數指定磁碟機。第七個命令執行的動作為:
PS C:\WINDOWS> get-location -psdrive HKLM
路徑
----
HKLM:\Software\Microsoft
範例 3
C:\PS>set-location
描述
-----------
這些命令示範如何 Get-Location 使用的 Stack 與 StackName 參數,列出預設與替代路徑堆疊中的路徑。
第一個命令將目前的位置設定為 C: 磁碟機的 Windows 目錄。
C:\PS> set-location C:\Windows
第二個命令使用 Push-Location Cmdlet,將目前的位置 (C:\Windows) 推入路徑堆疊並且變更為 System32 子目錄。因為沒有指定堆疊,所以目前的位置會推入預設堆疊。
C:\WINDOWS>push-location System32
第三個命令會將目前的位置 (C:\Windows\System32) 推入 Stack2 堆疊並且將位置變更為 WindowsPowerShell 子目錄。
C:\Windows\System32>push-location WindowsPowerShell -stack Stack2
第四個命令使用 Get-Location Cmdlet 取得預設路徑推疊上的路徑。
C:\WINDOWS\system32\WindowsPowerShell>get-location -stack
路徑
----
C:\WINDOWS
最後一個命令使用 Get-Location 的參數,取得 Stack2 堆疊上的路徑。
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2
路徑
----
C:\WINDOWS\system32
範例 4
C:\PS>function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>
描述
-----------
這個範例示範如何自訂 Windows PowerShell 提示。定義提示的函數包含 Get-Location 命令,只要在提示出現於主控台時,便會執行該命令。
預設 Windows PowerShell 提示的格式是由名為 "prompt" 的特殊函數所定義。您可以建立稱為 "prompt" 的新函數,藉此變更您主控台中的提示。
若要查看目前的提示函數,請輸入下列命令:
get-content function:prompt
以 "function" 關鍵字開頭的命令會緊接著函數名稱 "prompt"。函數主體會以大括號 ( {} ) 括住。
這個命令定義以 "PowerShell: " 字串開頭的新提示。若要附加目前的位置,它會使用呼叫提示函數時執行的 Get-Location 命令。提示會以 "> " 字串結束。