Como Juntar Caminho para Combinar Mais de Duas Strings em um Caminho de Arquivo no PowerShell

  1. Use o valor Join-Path para combinar mais de duas strings em um caminho de arquivo no PowerShell
  2. Conclusão
Como Juntar Caminho para Combinar Mais de Duas Strings em um Caminho de Arquivo no PowerShell

O cmdlet Join-Path permite ao usuário combinar strings em um único caminho. Às vezes, você pode precisar combinar caminhos para criar um único caminho ao trabalhar no PowerShell.

É aqui que o cmdlet Join-Path entra em ação. Muitos caminhos filhos podem ser combinados ou anexados ao caminho principal para criar um único caminho.

O parâmetro -Path especifica o caminho principal ao qual o caminho filho é anexado. O valor -Path determina qual provedor junta os caminhos e adiciona os delimitadores de caminho.

Ele fornece o delimitador \ para juntar os caminhos. O parâmetro -ChildPath especifica os caminhos a serem anexados ao valor do parâmetro -Path.

Por exemplo, o seguinte comando usa Join-Path para combinar o caminho principal hello e um caminho filho world.

Join-Path -Path "hello" -ChildPath "world"

Saída:

powershell juntar caminho - saída 1

O cmdlet Join-Path aceita apenas duas entradas de string ou um parâmetro -ChildPath. Usando o comando único, você não pode usar Join-Path para combinar mais de duas strings em um caminho de arquivo.

Você precisará usar múltiplas declarações Join-Path juntas para combinar mais de duas strings em um caminho de arquivo no PowerShell.

Use o valor Join-Path para combinar mais de duas strings em um caminho de arquivo no PowerShell

Uma vez que o valor do caminho Join-Path pode ser enviado para o pipe, você pode encadear múltiplas declarações Join-Path para combinar mais de duas strings em um caminho de arquivo.

Por exemplo, o seguinte código combina todas as quatro strings e cria um único caminho C:\content\software\PowerShell.

Join-Path -Path "C:" -ChildPath "content" | Join-Path -ChildPath "software" | Join-Path -ChildPath "PowerShell"

Neste trecho de código, você está usando o cmdlet Join-Path várias vezes para construir gradualmente um caminho de arquivo. A cada chamada ao Join-Path, você está pegando o caminho atual e estendendo-o ao adicionar outro segmento.

Isso é feito passando a saída de cada operação Join-Path para a próxima, essencialmente construindo o caminho final do arquivo peça por peça. O parâmetro -ChildPath é fundamental aqui, pois especifica o segmento adicional a ser anexado ao caminho existente.

Como resultado, o código efetivamente cria um caminho completo de arquivo ao combinar o caminho base C: com as strings subsequentes content, software e PowerShell.

Saída:

juntar caminho do powershell - saída 2

Combinando Múltiplos Caminhos de Arquivos com um Caminho Filho no PowerShell

O principal objetivo de combinar múltiplos caminhos com um caminho filho é criar caminhos de arquivo totalmente qualificados no PowerShell. Ao entender como combinar múltiplos caminhos com um caminho filho, você pode construir eficientemente caminhos de arquivos dinamicamente, aprimorando a flexibilidade e a legibilidade de seus scripts PowerShell.

Join-Path -Path "Path1\", "Path2\" -ChildPath "Folder\File.txt"

Neste trecho de código, você está usando o cmdlet Join-Path para mesclar dois caminhos (Path1 e Path2) com um caminho filho (Folder\File.txt). Ao passar uma matriz de caminhos raiz pelo parâmetro -Path e especificar o caminho filho com -ChildPath, você está criando caminhos de arquivos totalmente qualificados.

Consequentemente, a saída apresenta os caminhos de arquivo completos formados pela combinação de cada caminho com o caminho filho fornecido. Este método oferece uma maneira simples de integrar múltiplos caminhos em um único caminho de arquivo, aprimorando a versatilidade de seus scripts PowerShell.

Saída:

powershell juntar caminho - saída 3

Combinando Raízes de um Disco de Sistema de Arquivos com um Caminho Filho no PowerShell

Ao lidar com múltiplas raízes de caminho e um caminho filho, o cmdlet Join-Path, em conjunto com a entrada de matriz e o parâmetro -ChildPath, fornece uma maneira eficiente de mesclar componentes de caminho díspares em um caminho de arquivo coeso.

No contexto do cmdlet Get-PSDrive, o parâmetro -PSProvider filtra as unidades com base no provedor ao qual pertencem.

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

Neste trecho de código, você está usando o cmdlet Get-PSDrive para buscar os caminhos raiz de todas as unidades de sistema de arquivos. Em seguida, você está passando os resultados para ForEach-Object para extrair cada caminho raiz.

Esses caminhos raiz são posteriormente passados para Join-Path juntamente com o caminho filho SubFolder. O cmdlet Join-Path combina cada caminho raiz com o caminho filho, criando caminhos de arquivos totalmente qualificados.

Esse método permite que você gere dinamicamente caminhos de arquivos baseados nos caminhos raiz das unidades atualmente acessíveis em seu sistema.

Saída:

powershell juntar caminho - saída 4

Conclusão

Em conclusão, o cmdlet Join-Path no PowerShell serve como uma ferramenta valiosa para combinar strings em um único caminho de arquivo. Embora normalmente aceite apenas duas entradas de string ou um parâmetro -ChildPath, você pode superar essa limitação encadeando múltiplas declarações Join-Path juntas.

Este artigo explorou vários métodos para combinar múltiplas strings em um caminho de arquivo usando Join-Path, incluindo o uso do cmdlet várias vezes em sucessão e passando a saída de uma operação Join-Path para outra. Ao entender essas técnicas, você pode construir dinamicamente caminhos de arquivos com base em diferentes cenários e requisitos em seus scripts PowerShell.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artigo relacionado - PowerShell String

Artigo relacionado - PowerShell Path