Push-Location
Adiciona o local atual à parte superior de uma pilha de locais.
Sintaxe
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 locais. Se você especificar um caminho, 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 local atual, mas você pode usar o parâmetro StackName para especificar uma pilha de local alternativo. Se a pilha não existir, Push-Location
cria-a.
Para obter mais informações sobre pilhas de localização, consulte as Notas.
Exemplos
Exemplo 1
Este exemplo envia o local atual para a pilha de local 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
Este comando envia o local atual para a pilha padrão. Não altera a localização.
PS C:\> Push-Location
Exemplo 4 - Criar e usar uma pilha nomeada
Estes 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 empurra o local atual para uma nova pilha chamada Stack2 e, em seguida, altera o local atual para o diretório base, representado no comando pelo símbolo til (~
), que quando usado em unidades de provedor FileSystem é equivalente a $HOME
.
Se o Stack2 ainda não existir na sessão, Push-Location
cria-o. O segundo comando usa o Pop-Location
cmdlet para exibir o local original (C:\
) da pilha Stack2. Sem o parâmetro StackName , Pop-Location
seria pop o local da pilha padrão sem nome.
Para obter mais informações sobre pilhas de localização, consulte as Notas.
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 é digitado. Nenhum caractere é interpretado como 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.
Tipo: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-PassThru
Passa um objeto que representa o local para o pipeline. Por padrão, esse cmdlet não gera nenhuma saída.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Path
Altera sua localização para o local especificado por esse caminho depois que ele adiciona (empurra) o local atual na parte superior da pilha. Insira um caminho para qualquer local cujo provedor ofereça suporte a esse cmdlet. Curingas são permitidos. O nome do parâmetro é opcional.
Tipo: | String |
Position: | 1 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | True |
-StackName
Especifica a pilha de locais à qual o local atual é adicionado. Insira um nome de pilha de localização.
Se a pilha não existir, Push-Location
cria-a.
Sem esse parâmetro, Push-Location
adiciona o local à pilha de local atual. Por padrão, a pilha de local atual é a pilha de local 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 Notas.
Nota
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 |
Position: | Named |
Default value: | Default stack |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar uma cadeia de caracteres que contenha 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.
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.
Notas
O PowerShell inclui os seguintes aliases para Push-Location
:
- Todas as plataformas:
pushd
O PowerShell oferece suporte a vários espaços de execução por processo. Cada espaço de execução tem seu próprio diretório atual.
Isto não é o mesmo que [System.Environment]::CurrentDirectory
. Esse comportamento pode ser um problema ao chamar APIs .NET ou executar aplicativos nativos sem fornecer caminhos de diretório explícitos.
Mesmo que os cmdlets de local tenham definido o diretório atual em todo o processo, você não pode depender dele porque outro espaço de execução pode alterá-lo a qualquer momento. Você deve usar os cmdlets location para executar operações baseadas em caminho usando o diretório de trabalho atual específico para o espaço de execução 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 os usa e, em seguida, recupera-os para uso na ordem inversa. O PowerShell permite armazenar locais de provedores em pilhas de locais.
O PowerShell cria uma pilha de local 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 local atual, mas você pode usar o Set-Location
cmdlet para alterar a pilha de local 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 parâmetro Stack do
Get-Location
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
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 local padrão sem nome é totalmente acessível somente quando é a pilha de local atual.
Se você tornar uma pilha de local nomeada a pilha de local 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 Push-Location
seu alias interno, pushd
. Para obter mais informações, consulte about_Aliases.
O Push-Location
cmdlet 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.