Como obter o caminho completo dos arquivos no PowerShell

  1. Use Get-ChildItem para Obter o Caminho Completo dos Arquivos no PowerShell
  2. Use Select-Object para Obter o Caminho Completo dos Arquivos no PowerShell
  3. Use Format-Table para Obter o Caminho Completo dos Arquivos no PowerShell
  4. Use o Loop foreach para Obter o Caminho Completo dos Arquivos no PowerShell
  5. Use Format-List para Obter o Caminho Completo dos Arquivos no PowerShell
  6. Conclusão
Como obter o caminho completo dos arquivos no PowerShell

O PowerShell possui vários cmdlets para gerenciar os arquivos no sistema. Você pode criar, copiar, mover, renomear e excluir arquivos usando o PowerShell.

Você também pode pesquisar arquivos e verificar a existência de um arquivo no PowerShell. Um caminho de arquivo indica a localização do arquivo no sistema.

Este tutorial apresentará diferentes métodos para obter o caminho completo dos arquivos no PowerShell.

Use Get-ChildItem para Obter o Caminho Completo dos Arquivos no PowerShell

O cmdlet Get-ChildItem exibe uma lista de arquivos e diretórios na localização especificada. Você pode usar o parâmetro -Recurse para listar todos os arquivos e diretórios recursivamente.

Ele também mostra os subdiretórios e seus arquivos. Isso é útil para pesquisa de arquivos recursiva no PowerShell.

Essa abordagem é comumente usada em cenários onde você precisa realizar operações em um conjunto de arquivos espalhados por uma hierarquia de pastas, como pesquisas de arquivos, processamento em lote ou tarefas de organização de dados.

Exemplo:

Get-ChildItem -Path C:\ExampleDirectory -Filter *.txt -Recurse

Começamos designando nosso diretório raiz com -Path C:\ExampleDirectory. Esta escolha estabelece o ponto de partida da nossa pesquisa, garantindo que estamos olhando no lugar certo.

Em seguida, introduzimos o parâmetro -Filter *.txt. Este é um movimento estratégico da nossa parte, pois reduz significativamente nossa pesquisa apenas para aqueles arquivos que têm extensões .txt.

Ao fazer isso, evitamos eficientemente uma infinidade de arquivos irrelevantes, tornando nosso script mais focado e mais rápido na execução.

O verdadeiro divisor de águas em nosso script é o parâmetro -Recurse. É aqui que aproveitamos a capacidade do PowerShell de mergulhar nas estruturas de diretórios.

Com -Recurse, não estamos apenas percorrendo a superfície de C:\ExampleDirectory; estamos explorando cada canto e recanto, cada subdiretório, não importa o quão profundamente aninhado ele esteja.

Saída:

obter o caminho completo dos arquivos no powershell - saída 1

Você pode obter o caminho completo do arquivo encadeando o comando para %{$_.FullName}.

Exemplo:

Get-ChildItem -Path ExampleDirectory\ -Filter sample.txt -Recurse | % { $_.FullName }

Saída:

obter o caminho completo dos arquivos no powershell - saída 2

Ou, você pode usar este comando para obter todos os arquivos com a extensão .txt e seus caminhos na localização especificada.

Exemplo:

Get-ChildItem -Path ExampleDirectory\ -Recurse | where { $_.extension -eq ".txt" } | % { $_.FullName }

Saída:

obter o caminho completo dos arquivos no powershell - saída 3

Use Select-Object para Obter o Caminho Completo dos Arquivos no PowerShell

Um método semelhante será utilizado, mas usaremos o cmdlet Select-Object com o comando Get-ChildItem para obter o caminho completo dos arquivos no PowerShell.

O cmdlet Select-Object seleciona propriedades especificadas de um objeto ou conjunto de objetos. Essa técnica é particularmente útil em cenários onde você precisa auditar sistemas de arquivos, gerenciar dados ou realizar operações de limpeza.

Exemplo:

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Select-Object -ExpandProperty FullName

Por meio deste script, estamos aproveitando o poder combinado de Get-ChildItem e Select-Object para localizar e listar eficientemente arquivos .txt. Começando nossa pesquisa a partir de ExampleDirectory\, garantimos que todos os subdiretórios relevantes sejam incluídos.

O -Filter *.txt é um componente crucial, permitindo que nos concentremos apenas em arquivos .txt, assim otimizando nossa pesquisa.

Ao empregar -Recurse, não estamos apenas arranhando a superfície; estamos mergulhando profundamente em cada subdiretório, garantindo que nenhum arquivo seja negligenciado. A mágica acontece com | Select-Object -ExpandProperty FullName, que refina nossa saída para mostrar apenas o que é essencial – os caminhos completos dos arquivos.

Saída:

obter o caminho completo dos arquivos no powershell - saída 4

Use Format-Table para Obter o Caminho Completo dos Arquivos no PowerShell

Da mesma forma, você pode usar Format-Table para obter o caminho completo dos arquivos no PowerShell. O cmdlet Format-Table formata a saída como uma tabela com as propriedades selecionadas de um objeto.

O cmdlet Get-ChildItem, quando combinado com Format-Table, se torna uma ferramenta poderosa não apenas para recuperar caminhos de arquivos, mas também para apresentá-los em um formato organizado e legível. Esse método é particularmente útil para aqueles que precisam avaliar e relatar rapidamente a estrutura de seu sistema de arquivos.

Exemplo:

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Format-Table FullName

Neste script, utilizamos estrategicamente o Get-ChildItem para vasculhar ExampleDirectory\ e seus subdiretórios em busca de arquivos .txt. O parâmetro -Filter *.txt é fundamental, pois garante que nossa pesquisa seja focada e eficiente, ignorando tipos de arquivo irrelevantes.

A opção -Recurse é crucial para uma busca completa, garantindo que nenhum subdiretório seja deixado inexplorado.

Após a pesquisa, usamos | Format-Table FullName para transformar nossas descobertas em uma tabela bem organizada. Isso não apenas aumenta a legibilidade, mas também fornece uma visão clara e estruturada dos caminhos completos.

Saída:

obter o caminho completo dos arquivos no powershell - saída 5

Use o Loop foreach para Obter o Caminho Completo dos Arquivos no PowerShell

O loop foreach também é conhecido como a declaração foreach no PowerShell. É uma construção da linguagem para percorrer uma série de valores em uma coleção de arrays, objetos, strings, números, etc.

Você pode executar um ou mais comandos contra cada item em um array dentro do loop foreach.

Exemplo:

Get-ChildItem -Path ExampleDirectory\*.txt -Recurse | foreach { "$_" }

Neste script, começamos implantando o Get-ChildItem para pesquisar meticulosamente ExampleDirectory\ em busca de arquivos .txt.

A inclusão de -Recurse garante uma busca abrangente em todas as camadas de subdiretórios. Cada arquivo encontrado é então encadeado em um loop foreach.

Dentro deste loop, $_ atua como um espaço reservado para o arquivo atual. Ao colocar $_ entre aspas e exibi-lo, instruímos o PowerShell a mostrar o caminho completo de cada arquivo.

Esta abordagem não se trata apenas de recuperar dados; é um passeio metódico por cada arquivo, oferecendo a flexibilidade de adicionar operações mais complexas dentro do loop.

Saída:

obter o caminho completo dos arquivos no powershell - saída 6

O comando acima não funciona com o parâmetro -Filter. Você pode encadear ao cmdlet Get-Item no meio para usar o parâmetro -Filter.

Exemplo:

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Get-Item | foreach { "$_" }

A adição do Get-Item no pipeline é um passo chave, pois permite que o parâmetro -Filter seja efetivamente utilizado, garantindo que apenas arquivos .txt sejam processados.

Saída:

obter caminho completo dos arquivos no powershell - saída 7

Get-ChildItem tem aliases embutidos ls, dir e gci. Você pode executar todos os comandos acima usando qualquer um dos handles no lugar do cmdlet Get-ChildItem.

Exemplo:

gci -Path ExampleDirectory\ -Filter *.txt -Recurse | % { $_.FullName }

Ao usar aliases, este comando se torna muito mais conciso, enquanto ainda mantém sua funcionalidade. Usuários que vêm de diferentes origens (como Unix/Linux ou linhas de comando mais antigas do Windows) podem achar ls ou dir mais familiar.

Saída:

obter o caminho completo dos arquivos no powershell - saída 8

Use Format-List para Obter o Caminho Completo dos Arquivos no PowerShell

O cmdlet Get-ChildItem é versátil para navegar e recuperar informações sobre arquivos e diretórios. Quando usado com o parâmetro -Filter, pode direcionar especificamente arquivos de um determinado tipo, como arquivos .txt.

Format-List, por outro lado, exibe as propriedades dos objetos em um formato de lista. Quando combinado com Get-ChildItem, pode ser usado para apresentar os caminhos dos arquivos em uma lista clara e legível.

Exemplo:

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Format-List FullName

Em nosso código, usamos Get-ChildItem para pesquisar minuciosamente ExampleDirectory\ e seus subdiretórios (-Recurse) em busca de arquivos com uma extensão .txt (-Filter *.txt). Cada arquivo descoberto é então transferido de forma tranquila via pipeline (|) para o cmdlet Format-List.

Nos concentramos em extrair a propriedade FullName de cada arquivo, representando seu caminho completo. Este método é particularmente eficaz para criar uma lista de caminhos de arquivos bem organizada e legível.

Saída:

obter o caminho completo dos arquivos no powershell - saída 9

Conclusão

Para encerrar, o PowerShell oferece uma infinidade de cmdlets para gerenciamento eficiente de arquivos. Neste artigo, exploramos vários métodos para recuperar o caminho completo dos arquivos usando PowerShell, aproveitando particularmente o cmdlet Get-ChildItem em combinação com outros cmdlets como Format-List, Select-Object, e Format-Table.

Essas técnicas são inestimáveis para tarefas que envolvem auditorias de sistemas de arquivos, gerenciamento de dados e processamento em lote. Cada método que discutimos oferece uma abordagem única para lidar com caminhos de arquivos, seja para filtrar tipos de arquivos específicos, listar caminhos em uma tabela formatada, ou iterar por arquivos com um loop foreach.

Para leitores que desejam aprofundar sua expertise em PowerShell, os próximos passos podem envolver a exploração de técnicas mais avançadas de manipulação de arquivos, aprofundamento em scripts PowerShell para automação, ou até a integração de comandos do PowerShell com outras ferramentas e scripts para fluxos de trabalho mais complexos.

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 File