Push-Location
將目前的位置新增至位置堆疊頂端。
語法
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Push-Location
[-LiteralPath <String>]
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Description
Push-Location
Cmdlet 會將目前位置新增至位置堆疊(“pushes”。 如果您指定路徑,Push-Location
將目前位置推送至位置堆疊,然後將目前的位置變更為路徑所指定的位置。 您可以使用 Pop-Location
Cmdlet 從位置堆疊取得位置。
根據預設,Push-Location
Cmdlet 會將目前位置推送至目前的位置堆疊,但您可以使用 StackName 參數來指定替代的位置堆棧。 如果堆疊不存在,Push-Location
建立它。
如需位置堆疊的詳細資訊,請參閱附註。
範例
範例 1
本範例會將目前位置推送至預設位置堆疊,然後將位置變更為 C:\Windows
。
PS C:\> Push-Location C:\Windows
範例 2
本範例會將目前位置推送至 RegFunction 堆疊,並將目前位置變更為 HKLM:\Software\Policies
位置。
PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction
您可以在任何 PowerShell 磁碟驅動器 (PSDrive) 中使用 Location Cmdlet。
範例 3
此命令會將目前的位置推送至預設堆疊。 它不會變更位置。
PS C:\> Push-Location
範例 4 - 建立和使用具名堆疊
這些命令示範如何建立及使用具名位置堆疊。
PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>
第一個命令會將目前位置推送至名為 Stack2 的新堆疊,然後將目前的位置變更為主目錄,該目錄由圖文符號 (~) 在命令中表示(與 $env:USERPROFILE
或 $HOME
相同)。
如果會話中還沒有 Stack2,Push-Location
建立它。 第二個命令會使用 Pop-Location
Cmdlet,從 Stack2 堆棧快顯原始位置 (PS C:\>)。
如果沒有 StackName 參數,Pop-Location
會從未命名的預設堆疊中彈出位置。
如需位置堆疊的詳細資訊,請參閱 Notes。
參數
-LiteralPath
指定新位置的路徑。 不同於 Path 參數,LiteralPath 參數的值會與輸入時完全相同。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知 Windows PowerShell 不要將任何字元解譯為逸出序列。
類型: | String |
別名: | PSPath |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-PassThru
傳遞物件,此物件代表位置至管線。 根據預設,此 Cmdlet 不會產生任何輸出。
類型: | SwitchParameter |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
將位置變更為這個路徑所指定的位置之後,它會將目前位置新增(推送)到堆棧頂端。 輸入提供者支援此 Cmdlet 之任何位置的路徑。 允許通配符。 參數名稱是選擇性的。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
-StackName
指定新增目前位置的位置堆疊。 輸入位置堆疊名稱。
如果堆疊不存在,Push-Location
建立它。
如果沒有此參數,Push-Location
會將位置新增至目前的位置堆棧。 根據預設,目前的位置堆疊是PowerShell所建立的未命名預設位置堆疊。
若要將位置堆疊設為目前的位置堆疊,請使用 Set-Location
Cmdlet 的 StackName 參數。 如需位置堆疊的詳細資訊,請參閱 Notes。
注意
Push-Location
無法將位置新增至未命名的默認堆疊,除非它是目前的位置堆疊。
類型: | String |
Position: | Named |
預設值: | Default stack |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-UseTransaction
在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。
類型: | SwitchParameter |
別名: | usetx |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將包含路徑的字串傳送至 Push-Location
路徑(但不是常值路徑)。
輸出
None or System.Management.Automation.PathInfo
當您使用 PassThru 參數時,Push-Location
會產生代表位置的 System.Management.Automation.PathInfo 物件。 否則,此 Cmdlet 不會產生任何輸出。
備註
「堆疊」是最後一個先出清單,其中只能存取最近新增的專案。 您可以依您使用項目的順序,將專案新增至堆疊,然後擷取這些專案以反向順序使用。 PowerShell 可讓您將提供者位置儲存在位置堆疊中。
PowerShell 會建立未命名的預設位置堆疊,而且您可以建立多個具名位置堆疊。 如果您未指定堆疊名稱,Windows PowerShell 會使用目前的位置堆疊。 根據預設,未命名的預設位置是目前的位置堆疊,但您可以使用 Set-Location
Cmdlet 來變更目前的位置堆疊。
若要管理位置堆棧,請使用PowerShell位置 Cmdlet,如下所示。
- 若要將位置新增至位置堆疊,請使用
Push-Location
Cmdlet。 - 若要從位置堆疊取得位置,請使用
Pop-Location
Cmdlet。 - 若要顯示目前位置堆疊中的位置,請使用
Get-Location
Cmdlet 的 Stack 參數。
若要在具名位置堆疊中顯示位置,請使用 Get-Location
Cmdlet 的 StackName 參數。
- 若要建立新的位置堆疊,請使用
Push-Location
Cmdlet 的 StackName 參數。 如果您指定不存在的堆疊,Push-Location
會建立堆疊。 - 若要將位置堆疊設為目前的位置堆疊,請使用
Set-Location
Cmdlet 的 StackName 參數。
只有目前的位置堆疊是目前的位置堆疊時,才能完全存取未命名的預設位置堆疊。
如果您將具名位置堆疊設為目前的位置堆疊,就無法再使用 Push-Location
或 Pop-Location
Cmdlet 從預設堆疊新增或取得專案,或使用 Get-Location
命令來顯示未命名堆疊中的位置。 若要將未命名的堆疊設為目前的堆疊,請使用 Set-Location
Cmdlet 的 StackName 參數,其值為 $null 或空字串 (“” )。
您也可以透過內建別名 pushd
來參考 Push-Location
。 如需詳細資訊,請參閱 about_Aliases。
Push-Location
Cmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider
。 如需詳細資訊,請參閱 about_Providers。