Resolve-Path
Resolves the wildcard characters in a path, and displays the path contents.
Syntax
Resolve-Path
[-Path] <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[<CommonParameters>]
Resolve-Path
-LiteralPath <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[<CommonParameters>]
Description
The Resolve-Path
cmdlet displays the items and containers that match the wildcard pattern at the
location specified. The match can include files, folders, registry keys, or any other object
accessible from a PSDrive provider.
Examples
Example 1: Resolve the home folder path
The tilde character (~
) is shorthand notation for the current user's home folder. This example
shows Resolve-Path
returning the fully qualified path value.
Resolve-Path ~
Path
----
C:\Users\User01
Example 2: Resolve the path of the Windows folder
Resolve-Path -Path "windows"
Path
----
C:\Windows
When run from the root of the C:
drive, this command returns the path of the Windows
folder in
the C:
drive.
Example 3: Get all paths in the Windows folder
"C:\windows\*" | Resolve-Path
This command returns all the files and folders in the C:\Windows
folder. The command uses a
pipeline operator (|
) to send a path string to Resolve-Path
.
Example 4: Resolve a UNC path
Resolve-Path -Path "\\Server01\public"
This command resolves a Universal Naming Convention (UNC) path and returns the shares in the path.
Example 5: Get relative paths
Resolve-Path -Path "c:\prog*" -Relative
.\Program Files
.\Program Files (x86)
.\programs.txt
This command returns relative paths for the directories at the root of the C:
drive.
Example 6: Resolve a path containing brackets
This example uses the LiteralPath parameter to resolve the path of the Test[xml]
subfolder.
Using LiteralPath causes the brackets to be treated as normal characters rather than a regular
expression.
Resolve-Path -LiteralPath 'test[xml]'
Example 7: Resolve a path relative to another folder
This example uses the RelativeBasePath parameter to resolve the path of the pwsh
executable
relative to $env:TEMP
. When the command includes the Relative switch parameter, it returns a
String representing the relative path from $env:TEMP
to the pwsh
executable.
$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $env:TEMP -Relative
..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe
Parameters
-Credential
Specifies a user account that has permission to perform this action. The default is the current user.
Type a user name, such as User01
or Domain01\User01
, or pass a PSCredential object. You can
create a PSCredential object using the Get-Credential
cmdlet. If you type a user name, this
cmdlet prompts you for a password.
This parameter is not supported by any providers installed with PowerShell.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Specifies the path to be resolved. The value of the LiteralPath parameter is used exactly as
typed. No characters are interpreted as wildcard characters. If the path includes escape characters,
enclose it in single quotation marks ('
). Single quotation marks tell PowerShell not to interpret
any characters as escape sequences.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Specifies the PowerShell path to resolve. This parameter is required. You can also pipe a path
string to Resolve-Path
. Wildcard characters are permitted.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Relative
Indicates that this cmdlet returns a relative path.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RelativeBasePath
Specifies a path to resolve the relative path from. When you use this parameter, the cmdlet returns the System.Management.Automation.PathInfo object for the resolved path.
When you use this parameter with the Relative switch parameter, the cmdlet returns a string representing the relative path from RelativeBasePath to Path.
This parameter was added in PowerShell 7.4.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
You can pipe a string that contains a path to this cmdlet.
Outputs
By default, this cmdlet returns a PathInfo object.
If you specify the Relative parameter, this cmdlet returns a string value for the resolved path.
Notes
PowerShell includes the following aliases for Resolve-Path
:
- All platforms:
rvpa
The *-Path
cmdlets work with the FileSystem, Registry, and Certificate providers.
Resolve-Path
is designed to work with any provider. To list the providers available in your
session, type Get-PSProvider
. For more information, see
about_providers.
Resolve-Path
only resolves existing paths. It cannot be used to resolve a location that does not
exist yet.