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 Join-Path cmdlet 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

PS C:\> Join-Path -Path "path" -ChildPath "childpath"

path\childpath

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

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

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

PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

Os separadores de \ diretório existentes são manipulados para que haja apenas um separador entre Path e ChildPath

Exemplo 3: Exibir arquivos e pastas unindo um caminho a um caminho filho

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

Esse comando exibe os arquivos e pastas referenciados unindo o caminho e o C:\Win\* System\* caminho filho. Ele exibe os mesmos arquivos e pastas que Get-ChildItemo , mas exibe o caminho totalmente qualificado para cada item. Nesse comando, os nomes dos Path parâmetros opcionais 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

Esse comando exibe as chaves do Registro na subchave do HKLM\System Registro que incluem ControlSet.

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

Exemplo 5: Combinar várias raízes de caminho com um caminho filho

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

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

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

Observação

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

Exemplo 6: Combinar as raízes de uma unidade do sistema de arquivos com um caminho filho

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

C:\Subdir
D:\Subdir

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

O comando usa o Get-PSDrive cmdlet para obter as unidades do PowerShell com suporte do provedor FileSystem. A ForEach-Object instrução seleciona apenas 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 incluíam uma unidade mapeada para o C:\Program Files diretório.

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 AdditionalChildPath parâmetro permite a junção de um número ilimitado de caminhos.

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

Parâmetros

-AdditionalChildPath

Especifica elementos adicionais a serem acrescentados ao valor do parâmetro Path . O ChildPath parâmetro ainda é obrigatório e também deve ser especificado.

Esse parâmetro é especificado com a ValueFromRemainingArguments propriedade que permite unir 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 anexados ao valor do Path parâmetro. Caracteres curinga são permitidos. O ChildPath parâmetro é obrigató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

Observação

Esse parâmetro não tem suporte de nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse 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 Path parâmetro é obrigató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 ingressado do provedor atual.

  • Se curingas forem usados, o cmdlet retornará todos os caminhos que correspondem ao caminho associado.
  • Se nenhum curinga for usado, o cmdlet apresentará 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

Você pode canalizar uma cadeia de caracteres que contém um caminho para esse 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 foram projetados para uso em programas e scripts onde você deseja exibir uma parte ou todo um nome de caminho em um formato específico. Use-os como usaria Dirname, Normpath, Realpath, Join, ou outros manipuladores de caminho.

Você pode usar os cmdlets de caminho com vários provedores, incluindo os FileSystemprovedores , Registrye Certificate .

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