Compartilhar via


Push-Location

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

Syntax

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

Description

O Push-Location cmdlet 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 Pop-Location cmdlet para obter locais da pilha de localização.

Por padrão, o Push-Location cmdlet 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 crie-a.

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

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 HKLM:\Software\Policies local.

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

Você pode usar os cmdlets Location 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 – Create 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 altera o local atual para o diretório inicial, representado no comando pelo símbolo de bloco (~), que quando usado em unidades de provedor FileSystem é equivalente a $HOME e $env:USERPROFILE.

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

Para obter mais informações sobre pilhas de localização, consulte as Anotaçõ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 foi digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 crie-a.

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 Set-Location cmdlet . Para obter mais informações sobre pilhas de localização, consulte as Anotações.

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.

Type:String
Position:Named
Default value:Default stack
Required:False
Accept pipeline input:True
Accept wildcard characters:False

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, este cmdlet não gera 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 que os cmdlets de localização definiram 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 ú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 as usará e as 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 Set-Location cmdlet 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 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ê fizer 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 se referir por seu alias Push-Location interno, 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.