Leer en inglés

Compartir a través de


Resolve-Path

Resuelve los caracteres comodín de una ruta de acceso y muestra el contenido de la ruta de acceso.

Sintaxis

PowerShell
Resolve-Path
       [-Path] <string[]>
       [-Relative]
       [-RelativeBasePath <string>]
       [-Credential <pscredential>]
       [-Force]
       [<CommonParameters>]
PowerShell
Resolve-Path
       -LiteralPath <string[]>
       [-Relative]
       [-RelativeBasePath <string>]
       [-Credential <pscredential>]
       [-Force]
       [<CommonParameters>]

Description

El cmdlet Resolve-Path muestra los elementos y contenedores que coinciden con el patrón comodín en la ubicación especificada. La coincidencia puede incluir archivos, carpetas, claves del Registro o cualquier otro objeto accesible desde un proveedor de psDrive de.

Ejemplos

Ejemplo 1: Resolución de la ruta de acceso de la carpeta principal

El carácter de tilde (~) es una notación abreviada para la carpeta principal del usuario actual. En este ejemplo se muestra Resolve-Path devolver el valor de ruta de acceso completo.

PowerShell
Resolve-Path ~

Path
----
C:\Users\User01

Ejemplo 2: Resolución de la ruta de acceso de la carpeta Windows

PowerShell
Resolve-Path -Path "windows"

Path
----
C:\Windows

Cuando se ejecuta desde la raíz de la unidad de C:, este comando devuelve la ruta de acceso de la carpeta Windows de la unidad C:.

Ejemplo 3: Obtener todas las rutas de acceso de la carpeta Windows

PowerShell
"C:\windows\*" | Resolve-Path

Este comando devuelve todos los archivos y carpetas de la carpeta C:\Windows. El comando usa un operador de canalización (|) para enviar una cadena de ruta de acceso a Resolve-Path.

Ejemplo 4: Resolución de una ruta de acceso UNC

PowerShell
Resolve-Path -Path "\\Server01\public"

Este comando resuelve una ruta de acceso de convención de nomenclatura universal (UNC) y devuelve los recursos compartidos de la ruta de acceso.

Ejemplo 5: Obtener rutas de acceso relativas

PowerShell
Resolve-Path -Path "c:\prog*" -Relative

.\Program Files
.\Program Files (x86)
.\programs.txt

Este comando devuelve rutas de acceso relativas para los directorios en la raíz de la unidad de C:.

Ejemplo 6: Resolución de una ruta de acceso que contiene corchetes

En este ejemplo se usa el parámetro LiteralPath para resolver la ruta de acceso de la subcarpeta Test[xml]. El uso de LiteralPath hace que los corchetes se traten como caracteres normales en lugar de como una expresión regular.

PowerShell
Resolve-Path -LiteralPath 'test[xml]'

Ejemplo 7: Resolución de una ruta de acceso relativa a otra carpeta

En este ejemplo se usa el parámetro relativeBasePath de para resolver la ruta de acceso del archivo ejecutable de pwsh con respecto a $env:TEMP. Cuando el comando incluye el parámetro de modificador relative , devuelve un string que representa la ruta de acceso relativa de $env:TEMP al ejecutable de pwsh.

PowerShell
$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $env:TEMP -Relative

..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe

Ejemplo 8: Resolución de rutas de acceso para elementos ocultos

De forma predeterminada, Resolve-Path no devuelve elementos ocultos. En este ejemplo se usa el parámetro Force para resolver elementos ocultos. El comando Get-Item confirma que la carpeta .git está oculta. El uso de Resolve-Path sin el parámetro Force devuelve solo los elementos visibles. Al agregar el parámetro Force, se devuelven todos los elementos, incluidos los elementos ocultos.

PowerShell
PS> Get-Item .git -Force

    Directory: D:\Git\PS-Docs\PowerShell-Docs

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d--h-           9/25/2024  4:46 PM                .git

PS> Resolve-Path .git*

Path
----
D:\Git\PS-Docs\PowerShell-Docs\.github
D:\Git\PS-Docs\PowerShell-Docs\.gitattributes
D:\Git\PS-Docs\PowerShell-Docs\.gitignore

PS> Resolve-Path .git* -Force

Path
----
D:\Git\PS-Docs\PowerShell-Docs\.git
D:\Git\PS-Docs\PowerShell-Docs\.github
D:\Git\PS-Docs\PowerShell-Docs\.gitattributes
D:\Git\PS-Docs\PowerShell-Docs\.gitignore

Parámetros

-Credential

Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.

Escriba un nombre de usuario, como User01 o Domain01\User01, o pase un objeto de PSCredential. Puede crear un objeto de PSCredential mediante el cmdlet Get-Credential. Si escribe un nombre de usuario, este cmdlet le pedirá una contraseña.

Este parámetro no es compatible con ningún proveedor instalado con PowerShell.

Tipo:PSCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Force

Permite al cmdlet obtener elementos a los que el usuario no puede acceder de otro modo, como archivos ocultos o del sistema. El parámetro Force no invalida las restricciones de seguridad. La implementación varía entre los proveedores. Para obtener más información, vea about_Providers.

Este parámetro se agregó en PowerShell 7.5-preview.5.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-LiteralPath

Especifica la ruta de acceso que se va a resolver. El valor del parámetro LiteralPath se usa exactamente como se escribe. No se interpreta ningún carácter comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples ('). Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Tipo:String[]
Alias:PSPath, LP
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Path

Especifica la ruta de acceso de PowerShell que se va a resolver. Este parámetro es obligatorio. También puede canalizar una cadena de ruta de acceso a Resolve-Path. Se permiten caracteres comodín.

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-Relative

Indica que este cmdlet devuelve una ruta de acceso relativa.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-RelativeBasePath

Especifica una ruta de acceso desde la que resolver la ruta de acceso relativa. Cuando se usa este parámetro, el cmdlet devuelve el objeto System.Management.Automation.PathInfo para la ruta de acceso resuelta.

Cuando se usa este parámetro con el parámetro de modificador relative , el cmdlet devuelve una cadena que representa la ruta de acceso relativa de RelativeBasePath a Ruta de acceso.

Este parámetro se agregó en PowerShell 7.4.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

String

Puede canalizar una cadena que contenga una ruta de acceso a este cmdlet.

Salidas

PathInfo

De forma predeterminada, este cmdlet devuelve un objeto pathInfo .

String

Si especifica el parámetro Relative, este cmdlet devuelve un valor de cadena para la ruta de acceso resuelta.

Notas

PowerShell incluye los siguientes alias para Resolve-Path:

  • Todas las plataformas:
    • rvpa

Los cmdlets de *-Path funcionan con los proveedores de FileSystem, Registryy Certificate.

Resolve-Path está diseñado para trabajar con cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PSProvider. Para obtener más información, vea about_providers.

Resolve-Path solo resuelve las rutas de acceso existentes. No se puede usar para resolver una ubicación que aún no existe.