Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Descrição curta
Descreve os formatos de caminho completo e relativo no PowerShell.
Descrição longa
Todos os itens em um armazenamento de dados acessíveis 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 subcontenentes 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 um dos dois tipos: totalmente qualificado e relativo. Um caminho totalmente qualificado consiste em todos os elementos que compõem um caminho. A sintaxe a seguir mostra os elementos em um caminho totalmente qualificado:
[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>
O espaço reservado <provider> 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 da unidade são exclusivos em todos os provedores.
O espaço reservado <drive> refere-se à unidade do PowerShell compatível com 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 unidade A: e uma unidade de C:, o provedor FileSystem criará as mesmas unidades no PowerShell.
Depois de especificar a unidade, você deve especificar todos os contêineres e subcontenentes que contenham o item. Os contêineres devem ser especificados na ordem hierárquica na qual eles 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.
Nota
O PowerShell permite que você use barra invertida ou barra de avanço 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 localizar o caractere usado para sua plataforma.
Depois que o contêiner e os subcontenentes 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 arquivo Shell.dll no diretório C:\Windows\System32 é o seguinte:
C:\Windows\System32\Shell.dll
Nesse caso, a unidade pela qual os contêineres são acessados é a unidade C:, o contêiner de nível superior é Windows, o subcontenente é 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 sua localização em relação ao local de trabalho atual.
O PowerShell usa as sequências de caracteres a seguir para especificar caminhos relativos.
- (
.) – Local atual - (
..) – Pai do local atual - (
\) – Raiz do local atual
Os exemplos a seguir baseiam-se no diretório de trabalho atual que está sendo definido como C:\Windows.
- O caminho relativo
.\Systemé resolvido comoC:\Windows\System - O caminho relativo
..\Program Filesé resolvido comoC:\Program Files - O caminho relativo
\Program Filesé resolvido comoC:\Program Files - O caminho relativo
Systemé resolvido comoC:\Windows\System
Ao usar um caminho em um comando, você pode usar um caminho totalmente qualificado ou um relativo. Por exemplo, suponha que seu diretório de trabalho atual seja C:\Windows. O seguinte comando Get-ChildItem recupera todos os itens no diretório C:\TechDocs:
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 unidade C:. Como o diretório TechDocs 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 de outro item em um contêiner diferente.
Por exemplo, suponha que você tenha dois arquivos que são cada um nomeado Results.txt. O primeiro arquivo está em um diretório chamado C:\TechDocs\Jane o segundo 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.
Suporte para o namespace de arquivo Win32
No Windows, os cmdlets que dão suporte ao provedor FileSystem também dão suporte aos caminhos que usam o formato de namespace arquivo Win32. Você só pode usar esses caminhos com o parâmetro LiteralPath dos cmdlets.
Os caminhos no namespace de arquivo Win32 são prefixados com \\?\. O prefixo informa às APIs do Windows para desabilitar toda a análise de cadeia de caracteres e enviar a cadeia de caracteres que segue diretamente para o sistema de arquivos. Por exemplo, se o sistema de arquivos der suporte a grandes caminhos e nomes de arquivo, você poderá exceder os limites de MAX_PATH impostos de outra forma pelas APIs do Windows.
Para obter mais informações, consulte namespaces de arquivo Win32 em arquivos de nomenclatura , caminhos e namespaces.
Consulte também
- about_Locations
- convert-path
- de junção de caminho
- resolve-caminho
- de caminho dividido
- de caminho de teste