Compartir vía


Split-Path

Devuelve la parte especificada de una ruta de acceso.

Sintaxis

ParentSet (Es el valor predeterminado).

Split-Path
    [-Path] <String[]>
    [-Parent]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

LeafSet

Split-Path
    [-Path] <String[]>
    -Leaf
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

LeafBaseSet

Split-Path
    [-Path] <String[]>
    -LeafBase
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

ExtensionSet

Split-Path
    [-Path] <String[]>
    -Extension
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

QualifierSet

Split-Path
    [-Path] <String[]>
    -Qualifier
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

NoQualifierSet

Split-Path
    [-Path] <String[]>
    -NoQualifier
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

IsAbsoluteSet

Split-Path
    [-Path] <String[]>
    -IsAbsolute
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

LiteralPathSet

Split-Path
    -LiteralPath <String[]>
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Description

El cmdlet Split-Path devuelve solo la parte especificada de una ruta de acceso, como la carpeta primaria, una subcarpeta o un nombre de archivo. También puede obtener elementos a los que hace referencia la ruta de acceso dividida e indicar si la ruta de acceso es relativa o absoluta. Si divide una ruta de acceso sin especificar ningún otro parámetro, Split-Path devuelve la parte primaria de la ruta de acceso proporcionada.

El comando Split-Path devuelve cadenas. No devuelve FileInfo ni otros objetos de elemento como hacen los comandos *-Item.

Ejemplos

Ejemplo 1: Obtener el calificador de una ruta de acceso

Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:

Este comando devuelve solo el calificador de la ruta de acceso. El calificador es la unidad.

Ejemplo 2: Mostrar parte del nombre de archivo de la ruta de acceso

Cuando se usa el parámetro Leaf, Split-Path devuelve solo el último elemento de la cadena de ruta de acceso proporcionada, independientemente de si ese elemento es un archivo o un directorio.

Split-Path -Path .\folder1\*.txt -Leaf
*.txt
Split-Path -Path .\folder1\*.txt -Leaf -Resolve
file1.txt
file2.txt

Al usar el parámetro Resolve, Split-Path resuelve la cadena de ruta de acceso proporcionada y devuelve los elementos a los que hace referencia la ruta de acceso.

Ejemplo 3: Obtener el contenedor primario

Al usar el parámetro Parent, Split-Path devuelve solo la parte del contenedor principal de la cadena de ruta proporcionada. Si la cadena Path no contiene un contenedor primario, Split-Path devuelve una cadena vacía.

Split-Path -Path .\folder1\file1.txt -Parent
.\folder1
Split-Path -Path .\folder1\file1.txt -Parent -Resolve
D:\temp\test\folder1

Al usar el parámetro Resolve, Split-Path resuelve la cadena de ruta de acceso proporcionada y devuelve la ruta de acceso completa del contenedor primario.

Ejemplo 4: Determina si una ruta de acceso es absoluta

Este comando determina si la ruta de acceso es relativa o absoluta. En este caso, dado que la ruta de acceso es relativa a la carpeta actual, que se representa mediante un punto (.), devuelve $false.

Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False

Ejemplo 5: Cambiar la ubicación a una ruta de acceso especificada

Este comando cambia tu ubicación a la carpeta que contiene el perfil de PowerShell.

PS C:\> Set-Location (Split-Path -Path $PROFILE)
PS C:\Users\User01\Documents\PowerShell>

El comando entre paréntesis utiliza Split-Path para devolver solo el elemento padre de la ruta de acceso almacenada en la variable integrada $PROFILE. El parámetro Parent es el parámetro de ubicación dividida predeterminado. Por lo tanto, puede omitirlo en el comando. Los paréntesis dirigen PowerShell para ejecutar primero el comando. Se trata de una manera útil de moverse a una carpeta que tiene un nombre de ruta de acceso largo.

Ejemplo 6: Dividir una ruta de acceso mediante la canalización

'C:\Users\User01\My Documents\My Pictures' | Split-Path
C:\Users\User01\My Documents

Este comando usa un operador de canalización (|) para enviar una ruta de acceso a Split-Path. La ruta de acceso está entre comillas para indicar que es un token único.

Parámetros

-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 del parámetro

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

Conjuntos de parámetros

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

-Extension

Indica que este cmdlet devuelve solo la extensión de la hoja. Por ejemplo, en la ruta C:\Test\Logs\Pass1.log, devuelve solo .log.

Este parámetro se introdujo en PowerShell 6.0.

Propiedades del parámetro

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

Conjuntos de parámetros

ExtensionSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-IsAbsolute

Indica que este cmdlet devuelve $true si la ruta de acceso es absoluta y $false si es relativa. En Windows, una cadena de ruta de acceso absoluta debe comenzar con un especificador de unidad de proveedor, como C: o HKCU:. Una ruta relativa comienza con un punto (.) o un punto-punto (..).

Propiedades del parámetro

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

Conjuntos de parámetros

IsAbsoluteSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Leaf

Cuando se usa el parámetro Leaf, Split-Path devuelve solo el último elemento de la cadena de ruta de acceso proporcionada, independientemente de si ese elemento es un archivo o un directorio.

Propiedades del parámetro

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

Conjuntos de parámetros

LeafSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-LeafBase

Indica que este cmdlet devuelve solo el nombre base de la hoja. Por ejemplo, en la ruta C:\Test\Logs\Pass1.log, devuelve solo Pass1.

Este parámetro se introdujo en PowerShell 6.0.

Propiedades del parámetro

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

Conjuntos de parámetros

LeafBaseSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-LiteralPath

Especifica las rutas de acceso que se van a dividir. A diferencia de Path, el valor de LiteralPath se usa exactamente como se escribe. Ningún carácter se interpreta como 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.

Propiedades del parámetro

Tipo:

String[]

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

Conjuntos de parámetros

LiteralPathSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-NoQualifier

Indica que este cmdlet devuelve la ruta de acceso sin el calificador. Para los proveedores del sistema de archivos o del Registro, el calificador es la unidad de la ruta de acceso del proveedor, como C: o HKCU:. Por ejemplo, en la ruta C:\Test\Logs\Pass1.log, devuelve solo \Test\Logs\Pass1.log.

Propiedades del parámetro

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

Conjuntos de parámetros

NoQualifierSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Parent

Split-Path devuelve solo la parte del contenedor principal de la cadena de ruta de acceso proporcionada. Si la cadena Path no contiene un contenedor primario, Split-Path devuelve una cadena vacía.

Propiedades del parámetro

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

Conjuntos de parámetros

ParentSet
Posición:Named
Mandatory: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 las rutas de acceso que se van a dividir. Se permite el uso de caracteres comodín. Si la ruta de acceso incluye espacios, escríbalo entre comillas. También puede canalizar una ruta de acceso a este cmdlet.

Propiedades del parámetro

Tipo:

String[]

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

Conjuntos de parámetros

ParentSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
LeafSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
LeafBaseSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ExtensionSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
QualifierSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
NoQualifierSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
IsAbsoluteSet
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Qualifier

Indica que este cmdlet devuelve solo el calificador de la ruta de acceso especificada. Para los proveedores de FileSystem o Registry, el calificador es la unidad de la ruta de acceso del proveedor, como C: o HKCU:.

Propiedades del parámetro

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

Conjuntos de parámetros

QualifierSet
Posición:1
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Resolve

Indica que este cmdlet muestra los elementos a los que hace referencia la ruta de acceso dividida resultante en lugar de mostrar los elementos de la ruta.

Propiedades del parámetro

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

Conjuntos de parámetros

(All)
Posición:Named
Mandatory: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 cadenas de texto. Al especificar el parámetro Resolve, devuelve una cadena que describe la ubicación de los elementos. No devuelve objetos que representan los elementos, como un objeto FileInfo o RegistryKey.

Boolean

Al especificar el parámetro isAbsolute, este cmdlet devuelve un valor de booleano.

Notas

  • Los parámetros de ubicación dividida (Qualifier, Parent, Extension, Leaf, LeafBase y NoQualifier) son exclusivos. Solamente puede usar uno en cada comando.

  • Los cmdlets que contienen el sustantivo Path (los cmdlets Path) trabajan con nombres de rutas y devuelven los 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 una ruta en un formato determinado. Úselos de la manera en que usaría Dirname, Normpath, Realpath, Joinu otros manipuladores de rutas.

  • Puede usar los cmdlets de Path junto con varios proveedores. Estos incluyen los proveedores FileSystem, Registry y Certificate.

  • Split-Path 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.