Pop-Location
將目前的位置變更為最近推送至堆疊的位置。
語法
Pop-Location
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Description
Cmdlet 會 Pop-Location
使用 Push-Location
Cmdlet,將目前的位置變更為最近推送至堆棧的位置。 您可以從預設堆疊或從您使用 Push-Location
命令建立的堆疊快顯位置。
範例
範例 1:變更為最新的位置
PS C:\> Pop-Location
此命令會將您的位置變更為最近新增至目前堆疊的位置。
範例 2:變更為具名堆疊中最近的位置
PS C:\> Pop-Location -StackName "Stack2"
此命令會將您的位置變更為最近新增至 Stack2 位置堆疊的位置。
如需位置堆疊的詳細資訊,請參閱 附註。
範例 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
Cmdlet 在不同的 PowerShell 提供者支援的位置之間移動。 命令會使用 的pushd
Push-Location
別名和 的popd
Pop-Location
別名。
第一個命令會將目前的文件系統位置推送至堆疊,並移至 PowerShell 登錄提供者支援的 HKLM 磁碟驅動器。
第二個命令會將登錄位置推送至堆疊,並移至PowerShell憑證提供者所支援的位置。
最後兩個命令會從堆疊中彈出這些位置。 第一個 popd
命令會返回登錄磁碟驅動器,而第二個命令會返回檔系統磁碟驅動器。
參數
-PassThru
傳遞物件,此物件表示位置至管線。 根據預設,此 Cmdlet 不會產生任何輸出。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-StackName
指定要從中彈出位置的位置堆疊。 輸入位置堆疊名稱。
如果沒有此參數,就會 Pop-Location
從目前的位置堆疊中彈出位置。 根據預設,目前的位置堆疊是PowerShell所建立的未命名預設位置堆疊。 若要將位置堆疊設為目前的位置堆疊,請使用 Cmdlet 的 Set-Location
StackName 參數。 如需位置堆疊的詳細資訊,請參閱 附註。
Pop-Location
無法從未命名的預設堆疊快顯位置,除非它是目前的位置堆棧。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-UseTransaction
在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。
類型: | SwitchParameter |
別名: | usetx |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
None
根據預設,此 Cmdlet 不會傳回任何輸出。
當您使用 PassThru 參數時,這個 Cmdlet 會 傳回 PathInfo 物件,代表 Cmdlet 作業之後的目前路徑。
備註
Windows PowerShell 包含下列的 Pop-Location
別名:
popd
PowerShell 支援每個進程的多個 Runspace。 每個 Runspace 都有自己的 目前目錄。
這與不同 [System.Environment]::CurrentDirectory
。 呼叫 .NET API 或執行原生應用程式時,若未提供明確的目錄路徑,則此行為可能會發生問題。
即使位置 Cmdlet 已設定全進程目前的目錄,您也無法依賴它,因為其他 Runspace 可能會隨時變更它。 您應該使用位置 Cmdlet,使用目前 Runspace 特有的目前工作目錄來執行路徑型作業。
堆疊是最後一個先出清單,其中只能存取最近新增的專案。 您可以依您使用項目的順序,將專案新增至堆疊,然後擷取這些專案以反向順序使用。 PowerShell 可讓您將提供者位置儲存在位置堆疊中。
PowerShell 會建立未命名的預設位置堆疊,而且您可以建立多個具名位置堆疊。 如果您未指定堆疊名稱,PowerShell 會使用目前的位置堆疊。 根據預設,未命名的預設位置是目前的位置堆疊,但您可以使用 Set-Location
Cmdlet 來變更目前的位置堆疊。
若要管理位置堆棧,請使用PowerShell *-Location
Cmdlet,如下所示:
若要將位置新增至位置堆疊,請使用
Push-Location
Cmdlet。若要從位置堆疊取得位置,請使用
Pop-Location
Cmdlet。若要顯示目前位置堆疊中的位置,請使用 Cmdlet 的
Get-Location
Stack 參數。若要在具名位置堆疊中顯示位置,請使用 Cmdlet 的
Get-Location
StackName 參數。若要建立新的位置堆疊,請使用 Cmdlet 的
Push-Location
StackName 參數。 如果您指定不存在的堆疊,Push-Location
請建立堆疊。若要將位置堆疊設為目前的位置堆疊,請使用 Cmdlet 的
Set-Location
StackName 參數。
只有目前的位置堆疊是目前的位置堆疊時,才能完全存取未命名的預設位置堆疊。
如果您將具名位置堆疊設為目前的位置堆疊,就無法再使用 Push-Location
或 Pop-Location
Cmdlet 從預設堆疊新增或取得專案,或使用 Get-Location
Cmdlet 來顯示未命名堆疊中的位置。 若要將未命名的堆疊設為目前的堆疊,請使用 Cmdlet 的 Set-Location
StackName 參數搭配 值$Null
或空字串 (""
)。
Pop-Location
是設計來使用任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider
。 如需詳細資訊,請參閱 about_Providers。