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.