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[]>]
[-UseTransaction]
[<CommonParameters>]
Stack
Get-Location
[-Stack]
[-StackName <String[]>]
[-UseTransaction]
[<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 Windows PowerShell, o Windows 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 Windows 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
PS C:\> Get-Location
Path
----
C:\WINDOWS
Este comando exibe seu local na unidade atual do Windows PowerShell.
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
The first command uses the **Set-Location** cmdlet to set the current location to the Windows subdirectory of the C: drive.
PS C:\> Set-Location C:\Windows
The second command uses the **Set-Location** cmdlet to change the location to the HKLM:\Software\Microsoft registry key. When you change to a location in the HKLM: drive, Windows PowerShell retains your location in the C: drive.
PS C:\>
PS C:\WINDOWS> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>
The third command uses the **Set-Location** cmdlet to change the location to the HKCU:\Control Panel\Input Method registry key.
PS C:\>
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method>
The fourth command uses the **Get-Location** cmdlet to find the current location on the C: drive. It uses the *PSDrive* parameter to specify the drive.
PS C:\>
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C
Path
----
C:\WINDOWS
The fifth command uses the **Set-Location** cmdlet to return to the C: drive. Even though the command does not specify a subdirectory, Windows PowerShell returns you to the saved location.
PS C:\>
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\WINDOWS>
The sixth command uses the **Get-Location** cmdlet to find the current location in the drives supported by the Windows PowerShell registry provider. **Get-Location** returns the location of the most recently accessed registry drive, HKCU.
PS C:\>
PS C:\WINDOWS> Get-Location -PSProvider registry
Path
----
HKCU:\Control Panel\Input Method
To see the current location in the HKLM: drive, you need to use the *PSDrive* parameter to specify the drive. The seventh command does just this:
PS C:\>
PS C:\WINDOWS> Get-Location -PSDrive HKLM
Path
----
HKLM:\Software\Microsoft
Este exemplo demonstra o uso de Get-Location para exibir seu local atual em diferentes unidades do Windows PowerShell.
Exemplo 3: Listar os locais na pilha de locais atual e nas pilhas de locais alternativos
The first command sets the current location to the Windows directory on the C: drive.
PS C:\> Set-Location C:\Windows
The second command uses the **Push-Location** cmdlet to push the current location (C:\Windows) onto the current location stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the current location stack. By default, the current location stack is the unnamed default location stack.
C:\WINDOWS> Push-Location System32
The third command uses the *StackName* parameter of the **Push-Location** cmdlet to push the current location (C:\Windows\System32) onto the Stack2 stack and to change the current location to the WindowsPowerShell subirectory. If the Stack2 stack does not exist, **Push-Location** creates it.
C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2
The fourth command uses the *Stack* parameter of the **Get-Location** cmdlet to get the locations in the current location stack. By default, the current stack is the unnamed default location stack.
C:\WINDOWS\system32\WindowsPowerShell> Get-Location -Stack
Path
----
C:\WINDOWS
The fifth command uses the *StackName* parameter of the **Get-Location** cmdlet to get the locations in the Stack2 stack.
PS C:\>
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2
Path
----
C:\WINDOWS\system32
Este comando mostra como usar os parâmetros Stack e StackName de Get-Location para listar os locais na pilha de locais atual e pilhas de locais alternativos. Para obter mais informações sobre pilhas de localização, consulte as Notas.
Exemplo 4: Personalizar o prompt do Windows PowerShell
PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>
Este exemplo mostra como personalizar o prompt do Windows PowerShell. 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 Windows 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
O comando começa com a palavra-chave function seguida pelo nome da função, prompt. O corpo da função aparece dentro de chaves ( {} ).
Este comando define um novo prompt que começa com a cadeia de caracteres PowerShell: . Para acrescentar o local atual, ele usa um comando Get-Location, que é executado quando a função de prompt é chamada. O prompt termina com a string "> ".
Parâmetros
-PSDrive
Especifica o local atual na unidade do Windows PowerShell especificada que esse cmdlet obtém na operação.
Por exemplo, se você estiver na unidade Certificate:, poderá usar esse parâmetro para encontrar 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
Especifica o local atual na unidade suportada pelo provedor do Windows PowerShell que esse cmdlet obtém na operação.
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 C:, poderá usar esse parâmetro para localizar seu local atual nas unidades do provedor Windows PowerShellRegistry.
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 na pilha de locais atual.
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 as Notas.
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 parâmetro Set-Location. Para obter informações sobre pilhas de localização, consulte as Notas.
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 |
-UseTransaction
Inclui o comando na transação ativa. Este parâmetro é válido somente quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Usetx |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| 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 a entrada para este cmdlet.
Saídas
System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack
Se você usar os parâmetros Stack ou StackName, esse cmdlet retornará um StackInfo objeto. Caso contrário, ele retorna um objeto PathInfo.
Notas
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 Windows PowerShell permite armazenar locais de provedores em pilhas de locais. O Windows 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 Windows PowerShell usará a pilha de local atual. Por padrão, o local padrão sem nome é a pilha de locais atual, mas você pode usar o cmdlet Set-Location
para alterar a pilha de locais atual. Para gerenciar pilhas de locais, use os cmdlets Windows PowerShellLocation 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 locais a pilha de locais 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ê fizer de uma pilha de local nomeada a pilha de local atual, não poderá mais usar o
Push-Location ou Pop-Location adicionar ou obter itens da pilha padrão ou usar este comando 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 ("").