NAME
Get-Location
SYNOPSIS
Gets information about the current working location.
SYNTAX
Get-Location [-PSDrive <string[]>] [-PSProvider <string[]>] [-UseTransaction] [<CommonParameters>]
Get-Location [-Stack] [-StackName <string[]>] [-UseTransaction] [<CommonParameters>]
DESCRIPTION
The Get-Location cmdlet gets an object that represents the current directory, much like the pwd (print working directory) command.
When you move between Windows PowerShell drives, Windows PowerShell retains your location in each drive. You can use Get-Location to find your location in each drive.
You can also use Get-Location to get the current directory at run time and use it in Functions and scripts, such as in a Function that displays the current directory in the Windows PowerShell prompt.
If you use the Push-Location cmdlet to add locations to a path stack, you can use the Stack parameter of Get-Location to display the current stack.
PARAMETERS
-PSDrive <string[]>
Gets the current location in the specified Windows PowerShell drive.
For example, if you are in the Certificate: drive, you can use this parameter to find your current location in the C: drive.
Required? false
Position? named
Default value
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false
-PSProvider <string[]>
Gets the current location in the drive supported by the specified Windows PowerShell provider.
If the specified provider supports more than one drive, Get-Location returns the location on the most recently accessed drive.
For example, if you are in the C: drive, you can use this parameter to find your current location in the drives of the Windows PowerShell Registry provider.
Required? false
Position? named
Default value
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false
-Stack [<SwitchParameter>]
Displays the locations in the default path stack.
To add paths to the default stack, use the Push-Location cmdlet.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-StackName <string[]>
Displays the locations in the specified path stacks.
To create path stacks, use the Push-Location cmdlet.
Required? false
Position? named
Default value
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false
-UseTransaction [<SwitchParameter>]
Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_transactions.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
“Get-Help about_CommonParameters“.
INPUTS
None
You cannot pipe input to this cmdlet.
OUTPUTS
PathInfo objects or StackInfo objects
If you use the Stack or StackName parameters, Get-Location returns a StackInfo object. Otherwise, it returns a PathInfo object.
NOTES
Locations can be stored on a stack. The Push-Location cmdlet adds a location to the top of the stack. The Pop-Location cmdlet gets the location at the top of the stack.
The ways that the PSProvider, PSDrive, Stack, and StackName parameters interact depends on the provider. Some combinations will result in errors, such as specifying both a drive and a provider that does not expose that drive. If no parameters are specified, Get-Location returns the PathInfo object for the provider that contains the current working location.
The Get-Location cmdlet is designed to work with the data exposed by any provider. To list the providers available in your session, type “Get-PSProvider“. For more information, see about_providers.
————————– EXAMPLE 1 ————————–
C:\PS>Get-Location
Path
—-
C:\WINDOWS
Description
———–
This command displays your location in the current Windows PowerShell drive.
For example, if you are in the Windows directory of the C: drive, it displays the path to that directory.
————————– EXAMPLE 2 ————————–
C:\PS>Set-Location
Description
———–
These commands demonstrate the use of Get-Location to display your current location in different Windows PowerShell drives.
The first command uses the Set-Location cmdlet to set the current location to the Windows subdirectory of the C: drive.
C:\PS> 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:\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 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 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 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:\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:\WINDOWS> Get-Location -PSDrive HKLM
Path
—-
HKLM:\Software\Microsoft
————————– EXAMPLE 3 ————————–
C:\PS>Set-Location
Description
———–
These commands show how to use the Stack and StackName parameters of Get-Location to list the paths in the default and alternate path stacks.
The first command sets the current location to the Windows directory on the C: drive.
C:\PS> Set-Location C:\Windows
The second command uses the Push-Location cmdlet to push the current location (C:\Windows) onto the path stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the default stack.
C:\WINDOWS>Push-Location System32
The third command pushes the current location (C:\Windows\System32) onto the Stack2 stack and changes the location to the WindowsPowerShell subirectory.
C:\Windows\System32>Push-Location WindowsPowerShell -stack Stack2
The fourth command uses the Get-Location cmdlet to get the paths on the default path stack.
C:\WINDOWS\system32\WindowsPowerShell>Get-Location -stack
Path
—-
C:\WINDOWS
The last command uses the StackName parameter of Get-Location to get the paths on the Stack2 stack.
C:\WINDOWS\system32\WindowsPowerShell>Get-Location -stackname Stack2
Path
—-
C:\WINDOWS\system32
————————– EXAMPLE 4 ————————–
C:\PS>function prompt { ‘PowerShell: ‘ + (Get-Location) + ‘> ‘}
PowerShell: C:\WINDOWS>
Description
———–
This example shows how to customize the Windows PowerShell prompt. The Function that defines the prompt includes a Get-Location command, which is run whenever the prompt appears in the console.
The format of the default Windows PowerShell prompt is defined by a special Function called “prompt”. You can change the prompt in your console by creating a new Function called “prompt”.
To see the current prompt Function, type the following command:
Get-Content Function:prompt
The command begins with the “function” keyword followed by the Function name, “prompt”. The Function body appears within braces ( {} ).
This command defines a new prompt that begins with the string “PowerShell: “. To append the current location, it uses a Get-Location command, which runs when the prompt Function is called. The prompt ends with the string “> “.
RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113321
about_providers
Pop-Location
Push-Location
Set-Location