about_Path_Syntax

Descripción breve

Describe los formatos de ruta de acceso completa y relativa en PowerShell.

Descripción larga

Todos los elementos de un almacén de datos accesibles a través de un proveedor de PowerShell se pueden identificar de forma única por sus nombres de ruta de acceso. Una ruta de acceso es una combinación del nombre del elemento, el contenedor y los subcontenedores en los que se encuentra el elemento y la unidad de PowerShell a la que se accede a los contenedores.

En PowerShell, los nombres de ruta de acceso pueden ser uno de los dos tipos: completo y relativo. Una ruta de acceso completa consta de todos los elementos que componen una ruta de acceso. La sintaxis siguiente muestra los elementos de un nombre de ruta de acceso completo:

[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>

El <provider> marcador de posición hace referencia al proveedor de PowerShell a través del cual se accede al almacén de datos. Por ejemplo, el proveedor FileSystem permite acceder a los archivos y directorios del equipo. Este elemento de la sintaxis es opcional y nunca es necesario porque los nombres de unidad son únicos en todos los proveedores.

El <drive> marcador de posición hace referencia a la unidad de PowerShell compatible con un proveedor de PowerShell determinado. En el caso del proveedor FileSystem, las unidades de PowerShell se asignan a las unidades de Windows configuradas en el sistema. Por ejemplo, si el sistema incluye una A: unidad y una C: unidad, el proveedor FileSystem crea las mismas unidades en PowerShell.

Después de especificar la unidad, debe especificar los contenedores y subcontenedores que contengan el elemento. Los contenedores deben especificarse en el orden jerárquico en el que existen en el almacén de datos. En otras palabras, debe comenzar con el contenedor primario y, a continuación, el contenedor secundario de ese contenedor primario, repitiendo el patrón para cada contenedor secundario. Además, cada contenedor debe ir precedido de una barra diagonal inversa.

Nota:

PowerShell permite usar barras diagonales inversas o barras diagonales para la compatibilidad con PowerShell en otras plataformas. Esto funciona para los comandos de PowerShell, pero es posible que no funcionen cuando se usan con aplicaciones nativas que solo esperan el separador de directorio nativo. Use [System.IO.Path]::DirectorySeparatorChar para buscar el carácter usado para la plataforma.

Después de especificar el contenedor y los subcontenedores, debe proporcionar el nombre del elemento, precedido de una barra diagonal inversa. Por ejemplo, el nombre de ruta de acceso completo para el Shell.dll archivo en el C:\Windows\System32 directorio es el siguiente:

C:\Windows\System32\Shell.dll

En este caso, la unidad a la que se accede a los contenedores es la C: unidad, el contenedor de nivel superior es Windows, el subcontenidor es System32y el elemento es Shell.dll.

En algunas situaciones, no es necesario especificar una ruta de acceso completa y, en su lugar, puede usar una ruta de acceso relativa. PowerShell permite identificar un elemento en función de su ubicación en relación con la ubicación de trabajo actual.

PowerShell usa las siguientes secuencias de caracteres para especificar rutas de acceso relativas.

  • () -. Ubicación actual
  • () -.. Elemento primario de la ubicación actual
  • (\) - Raíz de la ubicación actual

Los ejemplos siguientes se basan en el directorio de trabajo actual que se establece C:\Windowsen .

  • La ruta de acceso .\System relativa se resuelve como C:\Windows\System
  • La ruta de acceso ..\Program Files relativa se resuelve como C:\Program Files
  • La ruta de acceso \Program Files relativa se resuelve como C:\Program Files
  • La ruta de acceso System relativa se resuelve como C:\Windows\System

Al usar una ruta de acceso en un comando, puede usar una ruta de acceso completa o una relativa. Por ejemplo, suponga que el directorio de trabajo actual es C:\Windows. El comando siguiente Get-ChildItem recupera todos los elementos del C:\TechDocs directorio:

Get-ChildItem \TechDocs

La barra diagonal inversa indica que se debe usar la raíz de unidad de la ubicación de trabajo actual. Dado que el directorio de trabajo es C:\Windows, la raíz de la unidad es la C: unidad. Dado que el TechDocs directorio se encuentra fuera de la raíz, debe especificar solo la barra diagonal inversa.

Obtiene los mismos resultados mediante la ruta de acceso completa:

Get-ChildItem C:\TechDocs

Independientemente de si usa una ruta de acceso completa o un nombre de ruta de acceso relativa, una ruta de acceso es importante no solo porque busca un elemento, sino también porque identifica de forma única el elemento incluso si ese elemento comparte el mismo nombre que otro elemento en un contenedor diferente.

Por ejemplo, supongamos que tiene dos archivos denominados .Results.txt El primer archivo está en un directorio denominado C:\TechDocs\Jany el segundo está en un directorio denominado C:\TechDocs\Feb. La ruta de acceso del primer archivo (C:\TechDocs\Jan\Results.txt) y la ruta de acceso del segundo archivo (C:\TechDocs\Feb\Results.txt) le permiten distinguir claramente entre los dos archivos.

Consulte también