Pop-Location
Altera o local atual para o local mais recentemente inserido na pilha.
Syntax
Pop-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Description
O Pop-Location
cmdlet altera o local atual para o local enviado por push mais recentemente para a pilha usando o Push-Location
cmdlet . Você pode remover um local da pilha padrão ou de uma pilha criada usando um Push-Location
comando .
Exemplos
Exemplo 1: alterar para o local mais recente
PS C:\> Pop-Location
Este comando altera o local para o local mais recentemente adicionado à pilha atual.
Exemplo 2: alterar para o local mais recente em uma pilha nomeada
PS C:\> Pop-Location -StackName "Stack2"
Este comando altera o local para o local mais recentemente adicionado à pilha de local Stack2.
Para obter mais informações sobre pilhas de localização, consulte as Anotações.
Exemplo 3: mover-se entre locais para provedores diferentes
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:\>
Esses comandos usam os Push-Location
cmdlets e Pop-Location
para mover-se entre locais com suporte de diferentes provedores do PowerShell. Os comandos usam o alias pushd
para Push-Location
e o alias popd
para Pop-Location
.
O primeiro comando envia por push o local atual do sistema de arquivos para a pilha e passa para a unidade HKLM compatível com o provedor do Registro do PowerShell.
O segundo comando envia o local do Registro por push para a pilha e passa para um local com suporte do provedor de certificados do PowerShell.
Os dois últimos comandos removem esses locais da pilha. O primeiro popd
comando retorna para a unidade do Registro e o segundo comando retorna para a unidade do sistema de arquivos.
Parâmetros
-PassThru
Passa um objeto que representa o local para o pipeline. Por padrão, este cmdlet não gera saída.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StackName
Especifica a pilha do local de onde o local é exibido. Digite um nome de pilha de local.
Sem esse parâmetro, Pop-Location
exibe um local da pilha de localização atual. Por padrão, a pilha de localização atual é a pilha de localização padrão sem nome que o PowerShell cria. Para tornar uma pilha de localização a pilha de localização atual, use o parâmetro StackName do Set-Location
cmdlet . Para obter mais informações sobre pilhas de localização, consulte as Anotações.
Pop-Location
não pode exibir um local da pilha padrão sem nome, a menos que seja a pilha de localização atual.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Entradas
None
Você não pode redirecionar objetos para este cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
Quando você usa o parâmetro PassThru , esse cmdlet retorna um objeto PathInfo que representa o caminho atual após a operação do cmdlet.
Observações
O PowerShell inclui os seguintes aliases para Pop-Location
:
- Todas as Plataformas:
popd
O PowerShell dá suporte a vários runspaces por processo. Cada runspace tem seu próprio diretório atual.
Isso não é o mesmo que [System.Environment]::CurrentDirectory
. Esse comportamento pode ser um problema ao chamar APIs do .NET ou executar aplicativos nativos sem fornecer caminhos de diretório explícitos.
Mesmo se os cmdlets de localização tiverem definido o diretório atual em todo o processo, você não poderá depender dele porque outro runspace pode alterá-lo a qualquer momento. Você deve usar os cmdlets de localização para executar operações baseadas em caminho usando o diretório de trabalho atual específico para o runspace atual.
Uma pilha é uma lista de última entrada e primeira saída na qual apenas o item adicionado mais recentemente pode ser acessado. Você adiciona itens a uma pilha na ordem em que as usará e as recupera para uso na ordem inversa. O PowerShell permite armazenar locais de provedor em pilhas de localização.
O PowerShell cria uma pilha de localização padrão sem nome e você pode criar várias pilhas de localização nomeadas. Se você não especificar um nome de pilha, o PowerShell usará a pilha de localização atual. Por padrão, o local padrão sem nome é a pilha de localização atual, mas você pode usar o Set-Location
cmdlet para alterar a pilha de localização atual.
Para gerenciar pilhas de localização, use os cmdlets do PowerShell *-Location
da seguinte maneira:
Para adicionar um local a uma pilha de localização, use o
Push-Location
cmdlet .Para obter um local de uma pilha de localização, use o
Pop-Location
cmdlet .Para exibir os locais na pilha de localização atual, use o parâmetro Stack do
Get-Location
cmdlet .Para exibir os locais em uma pilha de localização nomeada, use o parâmetro StackName do
Get-Location
cmdlet .Para criar uma nova pilha de localização, use o parâmetro StackName do
Push-Location
cmdlet . Se você especificar uma pilha que não existe,Push-Location
criará a pilha.Para tornar uma pilha de localização a pilha de localização atual, use o parâmetro StackName do
Set-Location
cmdlet .
A pilha de locais padrão sem nome é totalmente acessível somente quando é a pilha de locais atual.
Se você tornar uma pilha de localização nomeada a pilha de localização atual, não poderá mais usar os Push-Location
cmdlets ou Pop-Location
para adicionar ou obter itens da pilha padrão ou usar o Get-Location
cmdlet para exibir os locais na pilha sem nome. Para tornar a pilha sem nome a pilha atual, use o parâmetro StackName do Set-Location
cmdlet com um valor de ou uma cadeia de $Null
caracteres vazia (""
).
Você também pode consultar por seu alias Pop-Location
interno, popd
. Para obter mais informações, consulte about_Aliases.
Pop-Location
foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite Get-PSProvider
. Para obter mais informações, consulte about_Providers.