Compartir a través de


Join-Path

Combina una ruta de acceso y una ruta de acceso secundaria en una única ruta de acceso.

Sintaxis

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

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 de \ para unir las rutas de acceso.

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

Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

Los separadores de directorio existentes \ se controlan, por lo que solo hay un separador entre ruta de acceso 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 de ruta de acceso 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 de acceso combinada, incluidos los caracteres comodín de la ruta de acceso 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 especificadas por ruta de acceso deben existir o se producirá un error en la combinació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 Ruta de acceso, "b" a ChildPath y "c-g" para 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.

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

-ChildPath

Especifica los elementos que se van a anexar al valor del parámetro Path. Se permiten los caracteres comodín.

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

-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.

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

-Path

Especifica la ruta (o rutas) de acceso principal a la que se va a anexar la ruta de acceso secundaria. El valor de Path determina qué proveedor combina las rutas de acceso y agrega los delimitadores de ruta de acceso. Se permiten los caracteres comodín.

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

-Resolve

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

  • Si usa caracteres comodín, el cmdlet devuelve todas las rutas de acceso que coinciden con la ruta de acceso combinada.
  • Si no usa caracteres comodín, el cmdlet devuelve un error si la ruta de acceso no existe.
Tipo:SwitchParameter
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 contiene 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 el nombre 'Path' manipulan las rutas y devuelven los nombres en un formato conciso que todos los proveedores de PowerShell pueden interpretar. Están diseñados para usarse en los que desea mostrar toda o parte de una 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.