Búsqueda de sitios web

Ruta de unión de PowerShell | Ejemplos de ruta de unión de PowerShell


Introducción a la ruta de unión de PowerShell

El siguiente artículo proporciona un resumen de PowerShell Join-Path. Puede haber escenarios en los que un usuario desee combinar dos rutas en una sola; en ese caso, el usuario debe utilizar el cmdlet de ruta de unión. Habrá una ruta principal y se pueden agregar varias rutas secundarias a la ruta principal para crear una nueva ruta. Esto se puede utilizar con varios proveedores, como registro, sistema de archivos y certificados, por nombrar algunos. El parámetro de ruta manipula y devuelve la ruta en un formato que PowerShell puede reconocer fácilmente. Aquí veremos en detalle los diversos parámetros y formas de unir múltiples caminos.

Sintaxis de la ruta de unión de PowerShell

La sintaxis del cmdlet Join-Path es la siguiente:

Nombre:

Join-Path

Sintaxis:

Join-Path [-Path] <string[]> [-ChildPath] <string> [-Resolve] [-Credential <pscredential>] [-UseTransaction]
[<CommonParameters>]

Alias:

None

Ejemplo:

Código:

Write-Host "Demo of join path" -ForegroundColor Green
$path1="test"
$path2="test1"
Write-Host "Path one is " $path1
Write-Host "Path two is" $path2
Write-Host "Combined path is" -ForegroundColor Green
Join-Path -Path $path1 -ChildPath $path2

Salida:

Parámetros:

  • -AdditionalPath: El tipo de datos de este parámetro es String[]. Esto representa los valores adicionales que deben agregarse a la ruta. Aunque este parámetro es opcional y está especificado, el parámetro de ruta secundaria debe presentarse con un valor. Se puede unir un número indefinido de caminos usando este parámetro. La posición de este parámetro en el cmdlet es 2. Ninguno es el valor predeterminado de este parámetro. Acepta entradas de canalización, pero este parámetro no admite caracteres comodín.
  • -ChildPath: Este parámetro es obligatorio. Esto representa un valor que se agregará al valor del parámetro de ruta. Su posición en el cmdlet es una. El tipo de datos de este parámetro es una cadena. Ninguno es su valor predeterminado. Acepta tanto caracteres comodín como entradas de canalización.
  • -Credencial: Este parámetro se utiliza únicamente con fines de suplantación. El tipo de datos es PSCredential y es opcional. El valor predeterminado es ninguno. Esto puede aceptar entradas de canalización, mientras que no se permiten caracteres comodín.
  • -Path: Esto representa el valor de la ruta principal al que se agregarán las rutas secundarias. Este es un parámetro obligatorio. El tipo de datos es String[] y su alias es PSPath. La posición de este parámetro dentro del cmdlet es 0. El valor predeterminado es ninguno. Acepta entradas de canalización y también se permiten caracteres comodín.
  • -Resolve: Esto indica al cmdlet que se debe usar el proveedor actual para resolver la ruta unida. En caso de que se proporcionen comodines, el cmdlet devuelve toda la ruta que se alinea con la ruta unida. Si no se utilizan comodines, en caso de que no coincidan, se genera un error. El tipo de datos de este parámetro es un modificador. Este es un parámetro opcional. El valor predeterminado es ninguno. No acepta entradas de canalización ni caracteres comodín.

Ejemplos de ruta de unión de PowerShell

A continuación se muestran ejemplos de PowerShell Join-Path:

Ejemplo #1

Uniendo una ruta principal y una ruta secundaria.

Código:

Write-Host "Welcome to the demo of joining one parent and one child path" -ForegroundColor Green
$parentpath=Read-Host "Enter the parent path"
$childpath= Read-Host "Enter the child path"
Write-Host "Combined path is as follows" -ForegroundColor Green
Join-Path -Path $parentpath -ChildPath $childpath

Salida:

Ejemplo #2

Muestre el contenido de la ruta combinada utilizando caracteres de resolución y comodines.

Código:

Write-Host "Demo of using resolve parameter" -ForegroundColor Green
Write-Host "Demo of providing wild card matches in both parent and child" -ForegroundColor Green
$parent= Read-Host "Enter the parent path with wildcard"
$childp= Read-Host "Enter the child path with wildcard"
Write-Host "Display the contents using the join-path" -ForegroundColor Green
Join-Path $parent $childp -Resolve

Salida:

En el ejemplo anterior, la ruta principal se proporciona con un valor c:\vignesh\t*, lo que significa que dentro de la carpeta Vignesh, cualquier subcarpeta que comience con t se considera como valor principal en la ruta secundaria "*", que denota todo. Por lo tanto, el resultado es una visualización de una lista de todos los archivos que coinciden con la condición.

Ejemplo #3

Uso de parámetro de ruta adicional.

Código:

Write-Host "Welcome to demo of additional child path in Join-path" -ForegroundColor Green
$mainpath= Read-Host "Enter the main path value"
$cpath= Read-Host "Enter the child path value"
$apath1= Read-Host "Enter the additional path one"
$apath2 = Read-Host "enter the additional path two"
$apath3 = Read-Host "enter the additional path three"
$apath4 = Read-Host "enter the additional path four"
$apath5 = Read-Host "enter the additional path five"
Write-Host "Joining all the path" -ForegroundColor Green
$path = Join-Path -Path $mainpath -ChildPath $cpath -AdditionalChildPaths($apath1, $apath2,$apath3,$apath4,$apath5)
Write-Host "the joined path is" -ForegroundColor Green

Salida:

Para encontrar la lista de proveedores admitidos por este cmdlet, podemos ejecutar el cmdlet get-psprovider para identificarlos.

Los siguientes son los proveedores que son compatibles en la sesión actual:

Ejemplo #4

Unir múltiples caminos usando la tubería.

Código:

Write-Host "Welcome to demo of joining path using pipeline input" -ForegroundColor Green
$mainpath= Read-Host "Enter the main path value"
$cpath= Read-Host "Enter the child path value"
$apath1= Read-Host "Enter the additional path one"
$apath2 = Read-Host "enter the additional path two"
$apath3 = Read-Host "enter the additional path three"
$apath4 = Read-Host "enter the additional path four"
$apath5 = Read-Host "enter the additional path five"
Write-Host "Joining all the path using pipeline input" -ForegroundColor Green
Join-Path $mainpath | Join-Path -ChildPath $cpath | Join-Path -ChildPath $apath1 | Join-Path -ChildPath $apath2 | Join-Path -ChildPath $apath3 | Join-Path -ChildPath $apath4 | Join-Path -ChildPath $apath5

Salida:

Al unirse, en el cmdlet anterior, si se especifica el parámetro de ruta secundaria, se generará un error que indica que el cmdlet no acepta entradas de canalización. Para que eso no suceda, a partir de la segunda ruta, todas las rutas deben estar precedidas por el parámetro de ruta secundaria.

Conclusión

Por lo tanto, el artículo cubrió detalles sobre el cmdlet Join-Path y sus diversos parámetros obligatorios y opcionales. También se mostró con varios ejemplos de rutas de concatenación de diferentes maneras usando el cmdlet Join-Path.

Artículos relacionados