Partilhar 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

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

Como o comando é executado a partir do FileSystem 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 com um caminho filho

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

Este comando exibe os arquivos e pastas que são referenciados unindo o C:\Win\* caminho e o System\* caminho filho. Ele exibe os mesmos arquivos e pastas que Get-ChildItemo , mas exibe o caminho totalmente qualificado para cada item. Neste comando, os nomes dos Path parâmetros opcionais são ChildPath omitidos.

Exemplo 4: Usar o caminho de associação 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 do HKLM\System Registro que incluem ControlSet.

O Resolve parâmetro tenta resolver o caminho associado, 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

Este comando usa 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 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

Este 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 suportadas pelo 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.

Este 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[]
Position:2
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-ChildPath

Especifica os elementos a serem acrescentados ao valor do Path parâmetro. Curingas são permitidos. O ChildPath parâmetro é necessário, embora o nome do parâmetro ("ChildPath") seja opcional.

Tipo:String
Position:1
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

-Credential

Nota

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

Tipo:PSCredential
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Path

Especifica o caminho principal (ou caminhos) ao qual o caminho filho é acrescentado. Curingas são permitidos.

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

Tipo:String[]
Aliases:PSPath
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

-Resolve

Indica que esse cmdlet deve tentar resolver o caminho associado 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 errará se o caminho não existir.
Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

String

Você pode canalizar uma cadeia de caracteres que contenha um caminho para esse cmdlet.

Saídas

String

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

Notas

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 onde você deseja exibir todo ou parte de um nome de caminho em um formato específico. Use-os como você usaria Dirname, Normpath, Realpath, Join, ou outros manipuladores de caminho.

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

Este cmdlet foi projetado para trabalhar 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.