Join-Path

Combina um caminho e um caminho subordinado num ú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 subordinado num único caminho. O fornecedor fornece os delimitadores de caminho.

Exemplos

Exemplo 1: Combinar um caminho com um caminho subordinado

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

path\childpath

Este comando utiliza Join-Path para combinar um caminho com um caminho subordinado.

Uma vez que o comando é executado a FileSystem partir do fornecedor, fornece o \ delimitador para associar os caminhos.

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

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

path\childpath

Separadores de diretório existentes e processados \ , pelo que existe apenas um separador entre Path e ChildPath

Exemplo 3: apresentar ficheiros e pastas ao associar um caminho com um caminho subordinado

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

Este comando apresenta os ficheiros e pastas referenciados ao associar o caminho C:\Win* e o caminho subordinado do Sistema*. Apresenta os mesmos ficheiros e pastas Get-ChildItemque , mas apresenta o caminho completamente qualificado para cada item. Neste comando, os nomes dos Path parâmetros e ChildPath opcionais são omitidos.

Exemplo 4: Utilizar Join-Path com o fornecedor de registo do PowerShell

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

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

Este comando apresenta as chaves de registo na subchave do HKLM\System registo que inclui ControlSet.

O Resolve parâmetro tenta resolver o caminho associado, incluindo carateres universais do caminho do fornecedor atual HKLM:\

Exemplo 5: Combinar múltiplas raízes de caminho com um caminho subordinado

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

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

Este comando utiliza Join-Path para combinar múltiplas raízes de caminho com um caminho subordinado.

Nota

As Unidades especificadas por Path têm de existir ou a associação dessa entrada falhará.

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

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 ficheiros do PowerShell na consola com o caminho subordinado subdiretório.

O comando utiliza o Get-PSDrive cmdlet para obter as unidades do PowerShell suportadas pelo fornecedor fileSystem. A ForEach-Object instrução seleciona apenas a propriedade Raiz dos PSDriveInfo objetos e combina-a com o caminho subordinado especificado.

O resultado mostra que as unidades do PowerShell no computador incluíam uma unidade mapeada para o diretório C:\Programas.

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 associação de um número ilimitado de caminhos.

Neste exemplo, não são utilizados nomes de parâmetros, pelo que "a" vincula a Path, "b" a ChildPath e "c-g" a AdditionalChildPath

Parâmetros

-AdditionalChildPath

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

Este parâmetro é especificado com a ValueFromRemainingArguments propriedade que permite associar um número indefinido de caminhos.

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

-ChildPath

Especifica os elementos a acrescentar ao valor do Path parâmetro . São permitidos carateres universais. O ChildPath parâmetro é obrigatório, embora o nome do parâmetro ("ChildPath") seja opcional.

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

-Credential

Nota

Este parâmetro não é suportado por nenhum fornecedor instalado com o PowerShell. Para representar outro utilizador ou elevar as suas credenciais ao executar este cmdlet, utilize Invoke-Command.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Path

Especifica o caminho principal (ou caminhos) ao qual o caminho subordinado é acrescentado. São permitidos carateres universais.

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

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

-Resolve

Indica que este cmdlet deve tentar resolver o caminho associado do fornecedor atual.

  • Se forem utilizados carateres universais, o cmdlet devolve todos os caminhos que correspondem ao caminho associado.
  • Se não forem utilizados carateres universais, o cmdlet irá efetuar um erro se o caminho não existir.
Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Entradas

String

Pode encaminhar uma cadeia que contém um caminho para este cmdlet.

Saídas

String

Este cmdlet devolve uma cadeia que contém o caminho resultante.

Notas

Os cmdlets que contêm o substantivo Path (os cmdlets Path) manipulam os nomes dos caminhos e devolvem os nomes num formato conciso que todos os fornecedores do PowerShell podem interpretar. Foram concebidos para utilização em programas e scripts onde pretende apresentar todo ou parte de um nome de caminho num formato específico. Utilize-os como utilizaria Dirname, Normpath, Realpath, Join ou outros manipuladores de caminhos.

Pode utilizar os cmdlets de caminho com vários fornecedores, incluindo os FileSystemfornecedores , Registrye Certificate .

Este cmdlet foi concebido para funcionar com os dados expostos por qualquer fornecedor. Para listar os fornecedores disponíveis na sua sessão, escreva Get-PSProvider. Para obter mais informações, veja about_Providers.