about_Path_Syntax

Descrição breve

Descreve os formatos de caminho completo e relativo no PowerShell.

Descrição longa

Todos os itens em um armazenamento de dados acessível por meio de um provedor do PowerShell podem ser identificados exclusivamente por seus nomes de caminho. Um caminho é uma combinação do nome do item, do contêiner e dos subcontêineres nos quais o item está localizado e da unidade do PowerShell por meio da qual os contêineres são acessados.

No PowerShell, os nomes de caminho podem ser de dois tipos: totalmente qualificados e relativos. Um caminho totalmente qualificado consiste em todos os elementos que compõem um caminho. A seguinte sintaxe mostra os elementos em um nome de caminho totalmente qualificado:

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

O <provider> espaço reservado refere-se ao provedor do PowerShell por meio do qual você acessa o armazenamento de dados. Por exemplo, o provedor FileSystem permite que você acesse os arquivos e diretórios em seu computador. Esse elemento da sintaxe é opcional e nunca é necessário porque os nomes de unidade são exclusivos em todos os provedores.

O <drive> espaço reservado refere-se à unidade do PowerShell que é suportada por um provedor específico do PowerShell. No caso do provedor FileSystem, as unidades do PowerShell são mapeadas para as unidades do Windows configuradas em seu sistema. Por exemplo, se o sistema incluir uma A: unidade e uma C: unidade, o provedor FileSystem criará as mesmas unidades no PowerShell.

Depois de especificar a unidade, você deve especificar todos os contêineres e subcontêineres que contêm o item. Os contêineres devem ser especificados na ordem hierárquica em que existem no armazenamento de dados. Em outras palavras, você deve começar com o contêiner pai e, em seguida, o contêiner filho nesse contêiner pai, repetindo o padrão para cada contêiner filho. Além disso, cada contêiner deve ser precedido por uma barra invertida.

Observação

O PowerShell permite que você use barra invertida ou barra para compatibilidade com o PowerShell em outras plataformas. Isso funciona para comandos do PowerShell, mas pode não funcionar quando usado com aplicativos nativos que esperam apenas o separador de diretório nativo. Use [System.IO.Path]::DirectorySeparatorChar para encontrar o personagem usado para sua plataforma.

Depois que o contêiner e os subcontêineres tiverem sido especificados, você deverá fornecer o nome do item, precedido por uma barra invertida. Por exemplo, o nome do caminho totalmente qualificado para o Shell.dll arquivo no diretório é o C:\Windows\System32 seguinte:

C:\Windows\System32\Shell.dll

Nesse caso, a unidade pela qual os contêineres são acessados é a C: unidade, o contêiner de nível superior é Windows, o subcontêiner é System32e o item é Shell.dll.

Em algumas situações, você não precisa especificar um caminho totalmente qualificado e, em vez disso, pode usar um caminho relativo. O PowerShell permite que você identifique um item com base em seu local em relação ao local de trabalho atual.

O PowerShell usa as seguintes sequências de caracteres para especificar caminhos relativos.

  • (.) - Localização atual
  • (..) - Pai da localização atual
  • (\) - Raiz da localização atual

Os exemplos a seguir são baseados no diretório de trabalho atual que está sendo definido como C:\Windows.

  • O caminho .\System relativo é resolvido como C:\Windows\System
  • O caminho ..\Program Files relativo é resolvido como C:\Program Files
  • O caminho \Program Files relativo é resolvido como C:\Program Files
  • O caminho System relativo é resolvido como C:\Windows\System

Ao usar um caminho em um comando, você pode usar um caminho totalmente qualificado ou um caminho relativo. Por exemplo, suponha que seu diretório de trabalho atual seja C:\Windows. O comando a seguir Get-ChildItem recupera todos os itens no C:\TechDocs diretório:

Get-ChildItem \TechDocs

A barra invertida indica que a raiz da unidade do local de trabalho atual deve ser usada. Como o diretório de trabalho é C:\Windows, a raiz da unidade é a C: unidade. Como o TechDocs diretório está localizado fora da raiz, você precisa especificar apenas a barra invertida.

Você obtém os mesmos resultados usando o caminho totalmente qualificado:

Get-ChildItem C:\TechDocs

Independentemente de você usar um caminho totalmente qualificado ou um nome de caminho relativo, um caminho é importante não apenas porque localiza um item, mas também porque identifica exclusivamente o item, mesmo que esse item compartilhe o mesmo nome que outro item em um contêiner diferente.

Por exemplo, suponha que você tenha dois arquivos cada um com o nome Results.txt. O primeiro arquivo está em um diretório chamado C:\TechDocs\Jan, e o segundo arquivo está em um diretório chamado C:\TechDocs\Feb. O caminho para o primeiro arquivo (C:\TechDocs\Jan\Results.txt) e o caminho para o segundo arquivo (C:\TechDocs\Feb\Results.txt) permitem distinguir claramente entre os dois arquivos.

Confira também