Get-Location
Obtém informações sobre o local de trabalho atual ou uma pilha de localização.
Sintaxe
Location (Default)
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, assim como o comando pwd (diretório de trabalho de impressão).
Quando você se move entre unidades do PowerShell, o PowerShell mantém sua localização em cada unidade. Você pode usar esse cmdlet para encontrar sua localização 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 localização. Para obter mais informações, consulte as Anotações e as descrições dos parâmetros Stack e StackName.
Exemplos
Exemplo 1: Exibir o local da unidade atual
Esse comando exibe sua localização na unidade atual do PowerShell.
PS C:\Windows> Get-Location
Path
----
C:\Windows
Por exemplo, se você estiver no diretório Windows da unidade de C:, ele exibirá o caminho para esse diretório.
Exemplo 2: Exibir o local atual para unidades diferentes
Este exemplo demonstra o uso de Get-Location para exibir sua localização atual em diferentes unidades do PowerShell.
Set-Location é usado para alterar o local para vários caminhos diferentes em PSDrives diferentes.
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 localização atual e pilhas de localização alternativas.
O cmdlet Push-Location é usado para mudar para 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 do PowerShell especificada.
Por exemplo, se você estiver na unidade Cert:, poderá usar esse parâmetro para encontrar seu local atual na unidade C:.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Location
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-PSProvider
Obtém o local atual na unidade com suporte pelo provedor do PowerShell especificado. Se o provedor especificado der suporte a mais de uma unidade, esse cmdlet retornará o local na unidade acessada mais recentemente.
Por exemplo, se você estiver na unidade C:, poderá usar esse parâmetro para encontrar seu local atual nas unidades do provedor de do Registro do PowerShell.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Location
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Stack
Indica que esse cmdlet exibe os locais adicionados à pilha de localização atual. Você pode adicionar locais a pilhas usando o cmdlet Push-Location.
Para exibir os locais em uma pilha de localização diferente, use o parâmetro StackName. Para obter informações sobre pilhas de localização, consulte o Notes.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Stack
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-StackName
Especifica, como uma matriz de cadeia de caracteres, as pilhas de localização nomeadas. Insira um ou mais nomes de pilha de localização.
Para exibir os locais na pilha de localização atual, use o parâmetro Stack. Para tornar uma pilha de localização a pilha de localização atual, use o cmdlet Set-Location.
Esse cmdlet não pode exibir os locais na pilha padrão sem nome, a menos que seja a pilha atual.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
Stack
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | 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 transferir objetos para esse 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.
Observações
O PowerShell inclui os seguintes aliases para Get-Location:
Todas as Plataformas:
glpwd
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.
O cmdlet Get-Location retorna o diretório atual do runspace atual do PowerShell.
Esse cmdlet foi projetado para funcionar 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 ú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 os usa e os 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 cmdlet Set-Location para alterar a pilha de localização atual.
Para gerenciar pilhas de localização, use os cmdlets *-Location do PowerShell, da seguinte maneira.
Para adicionar um local a uma pilha de localização, use o cmdlet
Push-Location.Para obter um local de uma pilha de localização, use o cmdlet
Pop-Location.Para exibir os locais na pilha de localização atual, use o parâmetro Stack do cmdlet
Get-Location. Para exibir os locais em uma pilha de localização nomeada, use o parâmetro StackName do cmdletGet-Location.Para criar uma nova pilha de localização, use o parâmetro StackName do cmdlet
Push-Location. Se você especificar uma pilha que não existe,Push-Locationcriará 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 localização padrão sem nome só é totalmente acessível quando é a pilha de localização atual.
Se você fizer uma pilha de localização nomeada a pilha de localização 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 ("").