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

Os separadores de diretório existentes \ são tratados para que haja somente 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 Resolve tenta resolver o caminho combinado, incluindo curingas a partir 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

Se não existirem as unidades especificadas por Path, a uniã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" a 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. O parâmetro ChildPath é necessário, embora o nome do parâmetro ("ChildPath") seja opcional.

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 tem suporte para 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. Caracteres curinga são permitidos.

O valor de Path determina qual provedor une os caminhos e adiciona os delimitadores de caminho. O parâmetro Path é necessário, embora o nome do parâmetro ("Path") seja opcional.

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 forem usados caracteres curinga, o cmdlet retornará todos os caminhos que correspondem ao caminho combinado.
  • Se não forem usados caracteres curingas, o cmdlet gerará 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 (os cmdlets Path) manipulam nomes de caminho e retornam os nomes em um formato conciso que todos os provedores do PowerShell podem interpretar. Eles são projetados para uso em programas e scripts em que você deseja exibir todo ou parte de um nome de 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.