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 por push 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 de bloco (~
), que quando usado em unidades do provedor FileSystem é equivalente a $HOME
.
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
Você pode redirecionar 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.
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 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.