Compartilhar via


Push-Location

Adiciona o local atual no topo de uma pilha de local.

Sintaxe

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

Description

O Push-Location cmdlet adiciona ("envia") o local atual a uma pilha de locais. Se você especificar um caminho, o enviará o local atual para uma pilha de locais e, em seguida, Push-Location alterará o local atual para o local especificado pelo caminho. Você pode usar o Pop-Location cmdlet para obter locais da pilha de locais.

Por padrão, o Push-Location cmdlet envia o local atual para a pilha de locais atual, mas você pode usar o parâmetro StackName para especificar uma pilha de locais alternativos. Se a pilha não existir, Push-Location cria-a.

Para obter mais informações sobre pilhas de localização, consulte as Observações.

Exemplos

Exemplo 1

Este exemplo envia o local atual para a pilha de locais padrão e, em seguida, altera o local para C:\Windows.

PS C:\> Push-Location C:\Windows

Exemplo 2

Este exemplo envia o local atual para a pilha RegFunction e altera o local atual para o HKLM:\Software\Policies local.

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

Você pode usar os cmdlets de localização em qualquer unidade do PowerShell (PSDrive).

Exemplo 3

Esse comando envia o local atual para a pilha padrão. O local não é alterado.

PS C:\> Push-Location

Exemplo 4 – Criar e usar uma pilha nomeada

Esses comandos mostram como criar e usar uma pilha local nomeada.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

O primeiro comando envia o local atual para uma nova pilha chamada Stack2 e, em seguida, altera o local atual para o diretório inicial, representado no comando pelo símbolo til (~), que, quando usado em unidades de provedor de sistema de arquivos, é equivalente a $HOME.

Se Stack2 ainda não existir na sessão, Push-Location crie-a. O segundo comando usa o Pop-Location cmdlet para remover o local original (C:\) da pilha Stack2. Sem o parâmetro StackName , Pop-Location o local da pilha padrão sem nome apareceria.

Para obter mais informações sobre pilhas de localização, consulte as Observações.

Parâmetros

-LiteralPath

Especifica o caminho para o local de destino. Ao contrário do parâmetro Path , o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples informam ao PowerShell para não interpretar nenhum caractere como sequências de escape.

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

-PassThru

Passa um objeto representando o local para o pipeline. Por padrão, este cmdlet não gera saída.

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

-Path

Altera seu local no local especificado por esse caminho depois de adicionado (enviado) o local atual para o topo da pilha. Insira um caminho para qualquer local cujo provedor oferece suporte a esse cmdlet. Caracteres curinga são permitidos. O nome do parâmetro é opcional.

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

-StackName

Especifica a pilha local à qual o local atual será adicionado. Digite um nome de pilha de local. Se a pilha não existir, Push-Location cria-a.

Sem esse parâmetro, Push-Location adiciona o local à 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.

Observação

Push-Location Não é possível adicionar um local à pilha padrão sem nome, a menos que seja a pilha de local atual.

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

Entradas

String

Você pode canalizar uma cadeia de caracteres que contém um caminho (mas não um caminho literal) 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 PowerShell inclui os seguintes aliases para Push-Location:

  • Todas as plataformas:
    • pushd

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 está acessível. 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 localização, use os cmdlets de localização do PowerShell, 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 ("").

Você também pode se referir Push-Location por seu alias integrado, pushd. Para obter mais informações, consulte about_Aliases.

O Push-Location cmdlet 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.