PowerShell Commands

Resolve-Path

Resolve-Path [-Credential <PSCredential>] -LiteralPath* <String[]> [-Relative] [-UseTransaction][<CommonParameters>]
Resolve-Path [-Path*] <String[]> [-Credential <PSCredential>] [-Relative] [-UseTransaction] [<CommonParameters>]

The Resolve-Path cmdlet interprets the wildcard characters in a path and displays the items and containers at the location specified by the path, such as the files and folders or registry keys and subkeys.

Parameters

-Credential <PSCredential>

  • Default value is None
  • Accepts pipeline input ByPropertyName

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 enter a PSCredential object, such as one generated by 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 Windows PowerShell.

-LiteralPath <String[]>

  • This value is required
  • Default value is None
  • Accepts pipeline input ByPropertyName

Specifies the path to be resolved. The value of the LiteralPath parameter is used exactly as it is typed. No characters are interpreted as wildcard characters. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.

-Path <String[]>

  • This value is required
  • Default value is None
  • Accepts pipeline input ByPropertyName

Specifies the Windows PowerShell path to resolve. This parameter is required. You can also pipe a path string to Resolve-Path .

-Relative [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Indicates that this cmdlet returns a relative path.

-UseTransaction [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Includes the command in the active transaction. This parameter is valid only when a transaction is in progress.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs
System.String
You can pipe a string that contains a path to this cmdlet.
Outputs
System.Management.Automation.PathInfo, System.String
This cmdlet returns a string that contains the resolved path, if you specify the Relative parameter. Otherwise, it returns a PathInfo object.
Examples
  1. Resolve the current path:
    PS C:\> Resolve-Path ~
    
       Path
       ----
       C:\Users\User01

    This command resolves the path represented by the tilde character (~), which represents the home path of a file system drive, such as C:.

  2. Resolve the path of the Windows folder:
    PS C:\> 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.
  3. Get all paths in the Windows folder:
    PS C:\> "C:\windows\*" | Resolve-Path
    

    This command returns all of the folders in the C:\Windows folder. The command uses a pipeline operator (|) to send a path string to Resolve-Path .

  4. Resolve a UNC path:
    PS C:\> Resolve-Path -Path "\\Server01\public"
    

    This command resolves a Universal Naming Convention (UNC) path and returns the shares in the path.

  5. Get relative paths:
    PS C:\> 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.

  6. Resolve a path that contains brackets:
    PS C:\> Resolve-Path -LiteralPath 'test[xml]'
    

    This command resolves the path of the Test[xml] subfolder of the current folder. It uses the LiteralPath parameter to indicate that the brackets are not regular expression characters.

Additional Notes
 The cmdlets that contain the Path noun (the Path cmdlets) work with path names and return the names in a 
 concise format that all Windows PowerShell providers can interpret. They are designed for use in programs and 
 scripts where you want to display all or part of a path name in a particular format. Use them as you would use 
 Dirname , Normpath , Realpath , Join *, or other path manipulators. You can use the Path * cmdlets with 
 several providers. These include the FileSystem, Registry, and Certificate providers.  Resolve-Path * 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.

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands