Compartilhar via


Join-Path

Combina um caminho e um caminho filho em um único caminho.

Sintaxe

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Description

O cmdlet Join-Path combina um caminho e um caminho filho em um único caminho. O provedor fornece os delimitadores de caminho.

Exemplos

Exemplo 1: combinar um caminho com um caminho filho

Join-Path -Path "path" -ChildPath "childpath"

path\childpath

Esse comando usa Join-Path para combinar um caminho com um childpath.

Como o comando é executado do provedor de FileSystem, ele fornece o delimitador \ para unir os caminhos.

Exemplo 2: Combinar caminhos que já contêm separadores de diretório

Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

Separadores de diretório existentes \ são tratados para que haja apenas um separador entre Path e ChildPath.

Exemplo 3: Exibir arquivos e pastas combinando um caminho com um subcaminho

Join-Path "C:\win*" "System*" -Resolve

Esse comando exibe os arquivos e pastas que são referenciados ao unir o caminho C:\Win\* e o caminho filho System\*. Ele exibe os mesmos arquivos e pastas que Get-ChildItem, mas exibe o caminho totalmente qualificado para cada item. Nesse comando, os nomes de parâmetro opcional Path e ChildPath são omitidos.

Exemplo 4: usar Join-Path com o provedor de Registro do PowerShell

PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve

HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet

Este comando exibe as chaves do registro na subchave HKLM\System que incluem ControlSet.

O parâmetro resolver , tenta resolver o caminho ingressado, incluindo curingas do caminho do provedor atual HKLM:\

Exemplo 5: combinar múltiplos diretórios raiz com um diretório filho

Join-Path -Path C:, D:, E:, F: -ChildPath New

C:\New
D:\New
E:\New
F:\New

Este comando usa o Join-Path para combinar várias raízes de caminho com um caminho filho.

Nota

As unidades especificadas por Path devem existir ou a junção dessa entrada falhará.

Exemplo 6: combinar a raiz de uma unidade do sistema de arquivos com um caminho secundário

Get-PSDrive -PSProvider FileSystem |
    ForEach-Object {$_.Root} |
    Join-Path -ChildPath "Subdir"

C:\Subdir
D:\Subdir

Esse comando combina as raízes de cada unidade de sistema de arquivos do PowerShell no console com o caminho filho Subdir.

O comando usa o cmdlet Get-PSDrive para obter as unidades do PowerShell compatíveis com o provedor FileSystem. A instrução ForEach-Object seleciona somente a propriedade Root dos objetos PSDriveInfo e a combina com o caminho filho especificado.

A saída mostra que as unidades do PowerShell no computador incluem uma unidade mapeada para o diretório C:\Program Files.

Exemplo 7: Combinar um número indefinido de caminhos

Join-Path a b c d e f g

a\b\c\d\e\f\g

O parâmetro AdditionalChildPath permite a junção de um número ilimitado de caminhos.

Neste exemplo, nenhum nome de parâmetro é usado, portanto, "a" associa-se a Path, "b" para ChildPath e "c-g" para AdditionalChildPath.

Parâmetros

-AdditionalChildPath

Especifica elementos adicionais a serem acrescentados ao valor do parâmetro Path. O parâmetro ChildPath ainda é obrigatório e deve ser especificado também. Esse parâmetro é especificado com a propriedade ValueFromRemainingArguments, que permite a junção de um número indefinido de caminhos.

Esse parâmetro foi adicionado no PowerShell 6.0.

Tipo:String[]
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-ChildPath

Especifica os elementos a serem acrescentados ao valor do parâmetro Path. Caracteres curinga são permitidos.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Credential

Nota

Esse parâmetro não é compatível com nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar este cmdlet, use Invoke-Command.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Path

Especifica o caminho principal (ou caminhos) ao qual o caminho filho é anexado. O valor de Path determina qual provedor une os caminhos e adiciona os delimitadores de caminho. Caracteres curinga são permitidos.

Tipo:String[]
Aliases:PSPath
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Resolve

Indica que esse cmdlet deve tentar resolver o caminho combinado do provedor atual.

  • Se você usar curingas, o cmdlet retornará todos os caminhos que correspondem ao caminho unido.
  • Se você não usar curingas, o cmdlet retornará um erro se o caminho não existir.
Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

String

É possível direcionar uma cadeia de caracteres que contém um caminho para este cmdlet.

Saídas

String

Esse cmdlet retorna uma cadeia de caracteres que contém o caminho resultante.

Observações

Os cmdlets que contêm o substantivo Path manipulam nomes de caminho e retornam os nomes em um formato conciso que todos os provedores do PowerShell podem interpretar. Elas foram projetadas para serem usadas onde você deseja exibir todo ou parte de um caminho em um formato específico. Use-os como você usaria Dirname, Normpath, Realpath, Joinou outros manipuladores de caminho.

É possível usar os cmdlets de caminho com vários provedores, incluindo os provedores FileSystem, Registry e Certificate.

Esse cmdlet foi projetado para funcionar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis na sessão, digite Get-PSProvider. Para obter mais informações, consulte about_Providers.