Compartilhar via


Push-Location

Adiciona o local atual à parte superior de uma pilha de localização.

Sintaxe

Path (Default)

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

LiteralPath

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

Description

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

Por padrão, o cmdlet Push-Location envia o local atual para a pilha de localização atual, mas você pode usar o parâmetro StackName para especificar uma pilha de localização alternativa. Se a pilha não existir, Push-Location a criará.

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

Exemplos

Exemplo 1

Este exemplo envia por push o local atual para a pilha de localização 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 local HKLM:\Software\Policies.

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 por push o local atual para a pilha padrão. Ele não altera o local.

PS C:\> Push-Location

Exemplo 4 – Criar e usar uma pilha nomeada

Esses comandos mostram como criar e usar uma pilha de localização 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 e $env:USERPROFILE.

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

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

Parâmetros

-LiteralPath

Especifica o caminho para o novo local. Ao contrário do parâmetro Path, o valor do parâmetro LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

LiteralPath
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-PassThru

Passa um objeto que representa o local para o pipeline. Por padrão, esse cmdlet não gera nenhuma saída.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Path

Altera seu local para o local especificado por esse caminho depois que ele adiciona (envia por push) o local atual para a parte superior da pilha. Insira um caminho para qualquer local cujo provedor dê suporte a esse cmdlet. Caracteres curinga são permitidos. O nome do parâmetro é opcional.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

Path
Cargo:1
Obrigatório:False
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-StackName

Especifica a pilha de localização à qual o local atual é adicionado. Insira um nome de pilha de localização. Se a pilha não existir, Push-Location a criará.

Sem esse parâmetro, Push-Location adiciona o local à pilha de localização atual. Por padrão, a pilha de localização atual é a pilha de localização padrão sem nome criada pelo PowerShell. Para tornar uma pilha de localização a pilha de localização atual, use o parâmetro StackName do cmdlet Set-Location. Para obter mais informações sobre pilhas de localização, consulte o Notes.

Observação

Push-Location não pode adicionar um local à pilha padrão sem nome, a menos que seja a pilha de localização atual.

Propriedades do parâmetro

Tipo:String
Valor padrão:Default stack
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

String

Você pode canalizar uma cadeia de caracteres que contém um caminho (mas não um caminho literal) para Push-Location.

Saídas

None or System.Management.Automation.PathInfo

Quando você usa o parâmetro PassThru , Push-Location gera um objeto System.Management.Automation.PathInfo que representa o local. Caso contrário, esse cmdlet não gerará nenhuma saída.

Observações

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 está acessível. Você adiciona itens a uma pilha na ordem em que os usa e os recupera para uso na ordem inversa. O PowerShell permite armazenar locais do 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 cmdlet Set-Location para alterar a pilha de localização 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 localização, use o cmdlet Push-Location.

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

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

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

  • Para criar uma nova pilha de localização, use o parâmetro StackName do cmdlet Push-Location. 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 cmdlet Set-Location.

A pilha de localização padrão sem nome só é totalmente acessível quando é a pilha de localização atual. Se você fizer uma pilha de localização nomeada a pilha de localização atual, não poderá mais usar os cmdlets Push-Location ou Pop-Location para adicionar ou obter itens da pilha padrão ou usar o cmdlet Get-Location para exibir os locais na pilha sem nome. Para tornar a pilha sem nome a pilha atual, use o parâmetro StackName do cmdlet Set-Location com um valor de $null ou uma cadeia de caracteres vazia ("").

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

O cmdlet Push-Location foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis na sessão, digite Get-PSProvider. Para obter mais informações, consulte about_Providers.