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
É possível direcionar uma cadeia de caracteres que contém um caminho para este cmdlet.
Saídas
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
, Join
ou 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.