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
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.