Pop-Location
將目前位置改為最近推送到堆疊上的位置。
語法
Default (預設值)
Pop-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Description
Pop-Location指令檔會將目前的位置改成最近被推送到堆疊Push-Location的位置。 你可以從預設堆疊中彈出地點,或是用 Push-Location 指令從你建立的堆疊中彈出。
範例
範例 1:變更到最新位置
PS C:\> Pop-Location
此指令會將你的位置更改為目前堆疊中最近新增的位置。
範例 2:在命名堆疊中變更到最近的位置
範例 3:為不同供應商在不同地點間移動
PS C:\> pushd HKLM:\Software\Microsoft\PowerShell
PS HKLM:\Software\Microsoft\PowerShell> pushd Cert:\LocalMachine\TrustedPublisher
PS Cert:\LocalMachine\TrustedPublisher> popd
PS HKLM:\Software\Microsoft\PowerShell> popd
PS C:\>
這些指令使用 Push-Location 和 Pop-Location cmdlets 來在不同 PowerShell 提供者支援的位置間移動。 指令使用 pushd 別名 為 Push-Locationpopd ,別名為 。Pop-Location
第一個指令會將目前的檔案系統位置推送到堆疊,並移至由 PowerShell 登錄檔提供者支援的 HKLM 磁碟機。
第二個指令會將登錄檔位置推送到堆疊中,並移動到 PowerShell 憑證提供者支援的位置。
最後兩個指令會把這些位置從堆疊中彈出。 第一個 popd 指令會回到登錄檔磁碟機,第二個指令則回到檔案系統磁碟機。
參數
-PassThru
將代表該位置的物件傳遞給管線。 根據預設,此 Cmdlet 不會產生任何輸出。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-StackName
指定該位置從哪個堆疊中彈出該位置。 輸入一個位置堆疊名稱。
若無此參數,則 Pop-Location 會從目前位置堆疊中彈出一個位置。 預設情況下,目前的位置堆疊是 PowerShell 建立的未命名預設位置堆疊。 要讓位置堆疊成為目前的位置堆疊,請使用指令碼中的 Set-LocationStackName 參數。 欲了解更多地點堆疊資訊,請參閱 備註。
Pop-Location 除非是目前的地點堆疊,否則無法從未命名的預設堆疊中彈出地點。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
None
您不能將物件透過管道傳送到此 Cmdlet。
輸出
None
根據預設,此 Cmdlet 不會傳回任何輸出。
PathInfo
當你使用 PassThru 參數時,這個 cmdlet 會回傳一個 PathInfo 物件,代表 cmdlet 操作後的當前路徑。
備註
PowerShell 包含下列 Pop-Location的別名:
- 所有平臺:
popd
PowerShell 支援每個程序的多個 Runspace。 每個運行空間都有自己的 目前目錄。
這與 不同。[System.Environment]::CurrentDirectory 當呼叫 .NET API 或執行原生應用程式但未提供明確目錄路徑時,可能會有此問題。
即使 location cmdlets 設定了整個程序的當前目錄,你也不能依賴它,因為其他跑道空間隨時可能改變它。 你應該使用 location cmdlets 來執行目前執行空間特定工作目錄的路徑操作。
堆疊是一種後進先出的清單,只有最近新增的項目才能存取。 你依照使用順序將物品加入堆疊,然後反向取回使用。 PowerShell 讓你能將提供者位置儲存在位置堆疊中。
PowerShell 會建立一個無名的預設位置堆疊,你可以建立多個命名的地點堆疊。 如果你沒有指定堆疊名稱,PowerShell 會使用目前的地點堆疊。 預設情況下,未命名的預設位置是目前的位置堆疊,但你可以用 Set-Location cmdlet 來更改目前的位置堆疊。
要管理位置堆疊,請使用PowerShell *-Location 指令,如下:
要將位置加入位置堆疊,請使用
Push-Locationcmdlet。要從位置堆疊取得位置,請使用
Pop-Locationcmdlet。要顯示目前位置堆疊中的位置,請使用 cmdlet 的
Get-LocationStack 參數。要顯示命名位置堆疊中的位置,請使用指令碼中的
Get-LocationStackName 參數。要建立新的位置堆疊,請使用 cmdlet 的
Push-LocationStackName 參數。 如果你指定一個不存在的堆疊,則Push-Location會建立該堆疊。要讓位置堆疊成為目前的位置堆疊,請使用指令碼中的
Set-LocationStackName 參數。
未命名的預設位置堆疊只有在是目前位置堆疊時才會被完全存取。
如果你把命名地點堆疊設為目前的位置堆疊,你就不能再用 Push-Location or Pop-Location 指令匣子來新增或取得預設堆疊中的物品,也不能用 Get-Location cmdlet 顯示非命名堆疊裡的位置。 若要讓未命名堆疊成為目前的堆疊,請使用指令本的 Set-LocationStackName 參數,值為 $null 或空字串("")。
你也可以用其內建別名popd來稱呼Pop-Location。 如需詳細資訊,請參閱 about_Aliases。
Pop-Location 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider。 如需詳細資訊,請參閱 about_Providers。