Pop-Location

Altera o local atual para o local mais recentemente inserido na pilha.

Sintaxe

Pop-Location
   [-PassThru]
   [-StackName <String>]
   [-UseTransaction]
   [<CommonParameters>]

Description

O Pop-Location cmdlet altera o local atual para o local enviado mais recentemente por push 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 Observações.

Exemplo 3: Mover-se entre locais para diferentes provedores

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 se mover entre locais compatíveis com diferentes provedores do PowerShell. Os comandos usam o pushd alias para Push-Location e o popd alias para Pop-Location.

O primeiro comando envia o local atual do sistema de arquivos para a pilha e se move para a unidade HKLM compatível com o provedor do Registro do PowerShell.

O segundo comando envia o local do Registro para a pilha e move para um local compatível com o provedor de certificados do PowerShell.

Os dois últimos comandos removem esses locais da pilha. O primeiro popd comando retorna à unidade do Registro e o segundo comando retorna à 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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 locais atual. Por padrão, a pilha de locais atual é a pilha de locais padrão sem nome que o PowerShell cria. Para tornar uma pilha de locais a pilha de locais atual, use o parâmetro StackName do Set-Location cmdlet. Para obter mais informações sobre pilhas de localização, consulte as Observações.

Pop-Location não é possível remover um local da pilha padrão sem nome, a menos que seja a pilha de locais atual.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-UseTransaction

Inclui o comando na transação ativa. Este parâmetro é válido somente quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.

Tipo:SwitchParameter
Aliases:usetx
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Você não pode canalizar objetos para esse 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 Windows PowerShell inclui os seguintes aliases para Pop-Location:

  • 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 que os cmdlets de localização tenham definido o diretório atual em todo o processo, você não pode 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 último a entrar, primeiro a sair, 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 locais.

O PowerShell cria uma pilha de locais padrão sem nome e você pode criar várias pilhas de locais nomeados. Se você não especificar um nome de pilha, o PowerShell usará a pilha de local atual. Por padrão, o local padrão sem nome é a pilha de locais atual, mas você pode usar o Set-Location cmdlet para alterar a pilha de locais atual.

Para gerenciar pilhas de locais, use os cmdlets do PowerShell *-Location , da seguinte maneira:

  • Para adicionar um local a uma pilha de locais, use o Push-Location cmdlet.

  • Para obter um local de uma pilha de locais, use o Pop-Location cmdlet.

  • Para exibir os locais na pilha de locais atual, use o Get-Location parâmetro Stack do cmdlet.

  • Para exibir os locais em uma pilha de locais nomeados, use o parâmetro StackName do Get-Location cmdlet.

  • Para criar uma nova pilha de locais, use o parâmetro StackName do Push-Location cmdlet. Se você especificar uma pilha que não existe, Push-Location o criará a pilha.

  • Para tornar uma pilha de locais a pilha de locais 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 locais nomeada a pilha de locais 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 ("").

Pop-Location foi projetado para funcionar 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.