Partilhar via


Get-Location

Obtém informações sobre o local de trabalho atual ou uma pilha de locais.

Sintaxe

Location (Predefinição)

Get-Location
    [-PSProvider <String[]>]
    [-PSDrive <String[]>]
    [<CommonParameters>]

Stack

Get-Location
    [-Stack]
    [-StackName <String[]>]
    [<CommonParameters>]

Description

O cmdlet Get-Location obtém um objeto que representa o diretório atual, muito parecido com o comando print working directory (pwd).

Quando você se move entre unidades do PowerShell, o PowerShell mantém sua localização em cada unidade. Você pode usar esse cmdlet para localizar seu local em cada unidade.

Você pode usar esse cmdlet para obter o diretório atual em tempo de execução e usá-lo em funções e scripts, como em uma função que exibe o diretório atual no prompt do PowerShell.

Você também pode usar esse cmdlet para exibir os locais em uma pilha de locais. Para obter mais informações, consulte as Notas e as descrições do Stack e parâmetros StackName.

Exemplos

Exemplo 1: Exibir a localização atual da unidade

Este comando exibe seu local na unidade atual do PowerShell.

PS C:\Windows> Get-Location
Path
----
C:\Windows

Por exemplo, se você estiver no diretório Windows da unidade C:, ele exibirá o caminho para esse diretório.

Exemplo 2: Exibir sua localização atual para unidades diferentes

Este exemplo demonstra o uso do Get-Location para exibir seu local atual em diferentes unidades do PowerShell. Set-Location é usado para alterar a localização para vários caminhos diferentes em diferentes PSDrives.

PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C

Path
----
C:\Windows

PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM

Path
----
HKLM:\Software\Microsoft

PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry

Path
----
HKCU:\Control Panel\Input Method

Exemplo 3: Obter locais usando pilhas

Este exemplo mostra como usar os parâmetros Stack e StackName de Get-Location para listar os locais na pilha de locais atuais e pilhas de locais alternativos.

O cmdlet Push-Location é usado para alterar em três locais diferentes. O terceiro push usa um nome de pilha diferente. O parâmetro Stack de Get-Location exibe o conteúdo da pilha padrão. O parâmetro StackName de Get-Location exibe o conteúdo da pilha chamada Stack2.

PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack

Path
----
C:\Windows
C:\

C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2

Path
----
C:\Windows\System32

Exemplo 4: Personalizar o prompt do PowerShell

Este exemplo mostra como personalizar o prompt do PowerShell.

PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>

A função que define o prompt inclui um comando Get-Location, que é executado sempre que o prompt aparece no console.

O formato do prompt padrão do PowerShell é definido por uma função especial chamada prompt. Você pode alterar o prompt no console criando uma nova função chamada prompt.

Para ver a função de prompt atual, digite o seguinte comando: Get-Content Function:\prompt

Parâmetros

-PSDrive

Obtém o local atual na unidade PowerShell especificada.

Por exemplo, se estiver na unidade Cert:, pode utilizar este parâmetro para encontrar a sua localização atual na unidade C:.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

Location
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-PSProvider

Obtém o local atual na unidade suportada pelo provedor PowerShell especificado. Se o provedor especificado oferecer suporte a mais de uma unidade, esse cmdlet retornará o local na unidade acessada mais recentemente.

Por exemplo, se você estiver na unidade de C:, poderá usar esse parâmetro para localizar seu local atual nas unidades do provedor de do Registro PowerShell.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

Location
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Stack

Indica que esse cmdlet exibe os locais adicionados à pilha de locais atual. Você pode adicionar locais a pilhas usando o cmdlet Push-Location.

Para exibir os locais em uma pilha de locais diferente, use o parâmetro StackName. Para obter informações sobre pilhas de localização, consulte o Notes.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

Stack
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-StackName

Especifica, como uma matriz de cadeia de caracteres, as pilhas de locais nomeados. Insira um ou mais nomes de pilha de locais.

Para exibir os locais na pilha de local atual, use o parâmetro Stack. Para tornar uma pilha de localização a pilha de localização atual, use o cmdlet Set-Location.

Este cmdlet não pode exibir os locais na pilha padrão sem nome, a menos que seja a pilha atual.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

Stack
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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

None

Não é possível canalizar objetos para este cmdlet.

Saídas

PathInfo

Por padrão, esse cmdlet retorna um objeto PathInfo.

PathInfoStack

Quando você usa os parâmetros Stack ou StackName, esse cmdlet retorna um objeto PathInfoStack.

Notas

O PowerShell inclui os seguintes aliases para Get-Location:

  • Todas as plataformas:

    • gl
    • pwd

O PowerShell oferece suporte a vários espaços de execução por processo. Cada ambiente de execução tem o 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. O cmdlet Get-Location retorna o diretório atual do espaço de execução atual do PowerShell.

Este cmdlet foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores em sua sessão, digite Get-PSProvider. Para obter mais informações, consulte about_Providers.

As maneiras pelas quais os parâmetros PSProvider, PSDrive, Stacke StackName interagem depende do provedor. Algumas combinações resultarão em erros, como especificar uma unidade e um provedor que não expõe essa unidade. Se nenhum parâmetro for especificado, esse cmdlet retornará o objeto PathInfo para o provedor que contém o local de trabalho 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 cmdlet Set-Location para alterar a pilha de local atual.

Para gerenciar pilhas de locais, use os cmdlets do PowerShell *-Location, da seguinte maneira.

  • Para adicionar um local a uma pilha de locais, use o cmdlet Push-Location.

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

  • Para exibir os locais na pilha de locais atual, use o parâmetro Stack do cmdlet Get-Location. Para exibir os locais em uma pilha de locais nomeados, use o parâmetro StackName do cmdlet Get-Location.

  • Para criar uma nova pilha de locais, 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 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 cmdlets Push-Location ou Pop-Location para adicionar ou obter itens da pilha padrão ou usar esse cmdlet 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 ("").