Share via


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.

PathInfo

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.