Como Juntar Caminho para Combinar Mais de Duas Strings em um Caminho de Arquivo no PowerShell
-
Use o valor
Join-Pathpara combinar mais de duas strings em um caminho de arquivo no PowerShell - Conclusão
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:

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:

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:

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:

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.
Artigo relacionado - PowerShell String
- Array de Strings em PowerShell
- Como Converter um Objeto de Array em uma String no PowerShell
- Como Converter uma String Segura em Texto Simples no PowerShell
- Como Encontrar a Posição de uma Substring no PowerShell
- Como Escapar Aspas Simples e Aspas Duplas no PowerShell
- Como Extrair uma Substring do PowerShell de uma String
