Compartilhar via


Join-Path

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

Syntax

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 childpath.

Como o comando é executado 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

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

Exemplo 3: exibir arquivos e pastas ingressando em um caminho com um caminho filho

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

Esse comando exibe os arquivos e pastas referenciados ao unir o C:\Win\* caminho e o System\* caminho filho. Ele exibe os mesmos arquivos e pastas Get-ChildItemque , mas exibe o caminho totalmente qualificado para cada item. Nesse comando, os nomes de Path parâmetro opcional 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 resolve o caminho unido, incluindo caracteres curinga do caminho do provedor atualHKLM:\

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 para combinar várias raízes Join-Path 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 compatíveis com o 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" é associado 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 a junção de um número indefinido de caminhos.

Esse parâmetro foi adicionado ao PowerShell 6.0.

Type:String[]
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ChildPath

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

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Credential

Observação

Não há suporte para esse parâmetro em nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 é necessário, embora o nome do parâmetro ("Path") seja opcional.

Type:String[]
Aliases:PSPath
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Resolve

Indica que esse cmdlet deve tentar resolve o caminho unido do provedor atual.

  • Se caracteres curinga forem usados, o cmdlet retornará todos os caminhos que correspondem ao caminho unido.
  • Se nenhum curinga for usado, o cmdlet erroá se o caminho não existir.
Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

String

Você pode redirecionar 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 você usaria Dirname, Normpath, Realpath, Joinou 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.