取得目前工作位置的相關資訊。

語法

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 命令。提示會以 "> " 字串結束。






請參閱




目錄