Compartir a través de


Join-Path

Combina una ruta de acceso y una ruta secundaria en una sola ruta de acceso.

Sintaxis

Default (valor predeterminado)

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Description

El cmdlet Join-Path combina una ruta de acceso y una ruta de acceso secundaria en una única ruta de acceso. El proveedor proporciona los delimitadores de ruta de acceso.

Ejemplos

Ejemplo 1: Combinar una ruta con una ruta secundaria

PS C:\> Join-Path -Path "path" -ChildPath "childpath"
path\childpath

Este comando usa Join-Path para combinar una ruta con una ruta secundaria.

Dado que el comando se ejecuta desde el proveedor de FileSystem, proporciona el delimitador \ para unir las rutas.

Ejemplo 2: Combinación de rutas de acceso que ya contienen separadores de directorio

PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"
path\childpath

Los separadores de directorio existentes \ se gestionan de modo que solo hay un separador entre Path y ChildPath

Ejemplo 3: Mostrar archivos y carpetas uniendo una ruta con una subruta

Join-Path "C:\win*" "System*" -Resolve

Este comando muestra los archivos y carpetas a los que se hace referencia mediante la combinación de la ruta de acceso C:\Win\* y la ruta de acceso secundaria System\*. Muestra los mismos archivos y carpetas que Get-ChildItem, pero muestra la ruta de acceso completa a cada elemento. En este comando, se omiten los Path y ChildPath nombres de parámetro opcionales.

Ejemplo 4: Uso de Join-Path con el proveedor del registro de PowerShell

PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve
HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet

Este comando muestra las claves del Registro en la subclave del Registro HKLM\System que incluyen ControlSet.

El parámetro Resolve intenta resolver la ruta combinada, incluidos los caracteres comodín de la ruta del proveedor actual HKLM:\.

Ejemplo 5: Combinar varias raíces de ruta con una ruta secundaria

Join-Path -Path C:, D:, E:, F: -ChildPath New
C:\New
D:\New
E:\New
F:\New

Este comando usa Join-Path para combinar varias raíces de ruta con una ruta secundaria.

Nota:

Las unidades que especifica Path deben existir o se producirá un error en la unión de esa entrada.

Ejemplo 6: Combinar la raíz de una unidad del sistema de archivos con una ruta secundaria

Get-PSDrive -PSProvider filesystem | ForEach-Object {$_.root} | Join-Path -ChildPath "Subdir"
C:\Subdir
D:\Subdir

Este comando combina las raíces de cada unidad del sistema de archivos de PowerShell en la consola con la ruta secundaria Subdir.

El comando usa el cmdlet Get-PSDrive para obtener las unidades de PowerShell compatibles con el proveedor FileSystem. La instrucción ForEach-Object selecciona solo la propiedad Root de los objetos PSDriveInfo y la combina con la ruta secundaria especificada.

La salida muestra que las unidades de PowerShell del equipo incluían una unidad asignada al directorio C:\Program Files.

Ejemplo 7: Combinar un número indefinido de rutas de acceso

Join-Path a b c d e f g
a\b\c\d\e\f\g

El parámetro AdditionalChildPath permite unir un número ilimitado de rutas de acceso.

En este ejemplo, no se usa ningún nombre de parámetro, por lo que "a" se enlaza a Path, "b" a ChildPath y "c-g" a AdditionalChildPath

Parámetros

-AdditionalChildPath

Especifica elementos adicionales para anexar al valor del parámetro de ruta . El parámetro ChildPath sigue siendo obligatorio y también debe especificarse.

Este parámetro se especifica con la propiedad ValueFromRemainingArguments que permite unir un número indefinido de rutas de acceso.

Este parámetro se agregó en PowerShell 6.0.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:2
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ChildPath

Especifica los elementos que se van a anexar al valor del parámetro Path. Se permiten los caracteres comodín. Se requiere el parámetro ChildPath, aunque el nombre del parámetro ("ChildPath") es opcional.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:1
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Credential

Nota:

Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar las credenciales al ejecutar este cmdlet, use Invoke-Command.

Propiedades de parámetro

Tipo:PSCredential
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Path

Especifica la ruta (o rutas) de acceso principal a la que se va a anexar la ruta de acceso secundaria. Se permiten los caracteres comodín.

El valor de Path determina qué proveedor combina a las rutas y agrega los delimitadores de ruta. Se requiere el parámetro Path, aunque el nombre del parámetro ("Path") es opcional.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False
Alias:PSPath

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Resolve

Indica que este cmdlet debe intentar resolver la ruta combinada del proveedor actual.

  • Si se usan caracteres comodín, el cmdlet devuelve todas las rutas que coinciden con la ruta combinada.
  • Si no se usa ningún carácter comodín, el cmdlet producirá un error si la ruta no existe.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

String

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

Salidas

String

Este cmdlet devuelve una cadena que contiene la ruta de acceso resultante.

Notas

Los cmdlets que contienen la palabra Path (cmdlets de ruta) manipulan los nombres de ruta y devuelven nombres en un formato conciso que todos los proveedores de PowerShell pueden interpretar. Están diseñados para su uso en programas y scripts en los que desea mostrar todo o parte de un nombre de ruta de acceso en un formato determinado. Úselos como usaría Dirname, Normpath, Realpath, Joinu otros manipuladores de rutas.

Puede usar los cmdlets de ruta con varios proveedores, entre los que se incluyen FileSystem, Registry y Certificate.

Este cmdlet está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PSProvider. Para obtener más información, consulte about_Providers.