Como encontrar arquivos com extensão no PowerShell

  1. Use Get-ChildItem Com Filter para Encontrar Arquivos Com Extensão no PowerShell
  2. Use Get-ChildItem Com Include para Encontrar Arquivos Com Extensões no PowerShell
  3. Conclusão
Como encontrar arquivos com extensão no PowerShell

O PowerShell é uma ferramenta versátil e poderosa para gerenciar arquivos e diretórios em seu computador. Uma tarefa comum é encontrar arquivos com extensões específicas.

Neste artigo, exploraremos os métodos para localizar arquivos com extensões particulares de forma eficiente usando o cmdlet Get-ChildItem no PowerShell.

Use Get-ChildItem Com Filter para Encontrar Arquivos Com Extensão no PowerShell

O comando Get-ChildItem no ambiente PowerShell obtém um item de um local especificado. Um item pode residir em um contêiner, e um contêiner geralmente é uma pasta.

Além disso, o Get-ChildItem usa um parâmetro -Recurse para obter itens dos contêineres filhos ou sub-contêineres. Ele também inclui um parâmetro -Filter que usa um caractere curinga (*) para obter todos os arquivos com uma extensão específica.

Sintaxe:

Get-ChildItem -Path "File Path" -Recurse -File -Filter *.txt

Parâmetros:

  • -Path "Caminho do Arquivo": Especifica o diretório de início da busca, onde procuraremos extensões específicas.
  • -Recurse: Estende a busca para subdiretórios, proporcionando uma busca abrangente.
  • -File: Foca em arquivos, não em diretórios, garantindo que apenas arquivos sejam retornados.
  • -Filter *.txt: Define o filtro para arquivos com a extensão ".txt". O caractere curinga (*) corresponde a quaisquer caracteres antes de ".txt".

Vamos dar um exemplo. O seguinte comando encontra todos os arquivos com a extensão .txt.

Get-ChildItem "C:\Files\"  -Recurse -File -Filter *.txt

No comando, começamos nossa busca usando o cmdlet Get-ChildItem no diretório "C:\Files", o que nos permite coletar informações sobre itens, sejam eles arquivos ou diretórios, dentro daquela localização. Para estender nossa busca a todos os subdiretórios também, incluímos o parâmetro -Recurse.

Em seguida, para especificar que estamos interessados em arquivos e não em diretórios, adicionamos o parâmetro -File. Finalmente, definimos nossa condição de filtro usando -Filter *.txt, que procura arquivos que terminam com ".txt" com o caractere curinga (*) servindo como um caractere curinga para corresponder a quaisquer caracteres que o precedem.

Dessa forma, instruímos efetivamente o PowerShell a localizar todos os arquivos com nomes terminando em ".txt".

Saída:

Directory: C:\Files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:02 PM              0 file1.txt
-a----         5/15/2022  11:02 PM              0 file2.txt
-a----         5/15/2022  11:02 PM              0 file3.txt

    Directory: C:\Files\Misc files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:05 PM              0 file8.txt

    Directory: C:\Files\More Files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:02 PM              0 file4.txt

    Directory: C:\Files\More Files\Some More Files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:03 PM              0 file6.txt

Poderíamos adicionar o parâmetro -Name ao Get-ChildItem para exibir apenas os caminhos dos arquivos em vez de uma saída detalhada.

Get-ChildItem "C:\Files\"  -Recurse -File -Name -Filter *.txt

Saída:

file1.txt
file2.txt
file3.txt
Misc files\file8.txt
More Files\file4.txt
More Files\Some More Files\file6.txt

Podemos ver, na saída, que ela mostra apenas os nomes e caminhos dos arquivos após a execução do comando com o parâmetro -Name.

Use Get-ChildItem Com Include para Encontrar Arquivos Com Extensões no PowerShell

O comando Get-ChildItem usa o parâmetro -Include que aceita um ou mais padrões de string para incluir os itens correspondentes.

Sintaxe:

Get-ChildItem "File Path" -Recurse -File -Name -Include *.txt
  • -Path "Caminho do Arquivo": Especifica o diretório de início da busca, onde buscamos arquivos de uma extensão específica.
  • -Recurse: Estende a busca para todos os subdiretórios, garantindo uma busca abrangente.
  • -File: Foca exclusivamente em arquivos, excluindo diretórios dos resultados.
  • -Name: Lista apenas os nomes dos arquivos na saída sem informações detalhadas sobre os arquivos.
  • -Include *.txt: Filtra e recupera arquivos com a extensão ".txt" nos resultados.

Adicionar um asterisco final (*) ao caminho do arquivo é necessário sem a flag -Recurse. Nesse caso, ele lista apenas os arquivos .txt na pasta Files.

Get-ChildItem "C:\Files\*" -File -Name -Include *.txt

No comando, usamos o cmdlet Get-ChildItem para iniciar uma busca por arquivos dentro do diretório "C:\Files" e todos os seus subdiretórios. Para identificar arquivos com a extensão ".txt", aplicamos uma série de parâmetros.

Começamos definindo o caminho com "C:\Files\*", que inclui todos os subdiretórios sob "C:\Files". Ao adicionar o parâmetro -File, concentramos exclusivamente em arquivos, excluindo diretórios.

O parâmetro -Name refina nossa saída, exibindo apenas os nomes dos arquivos, enquanto o parâmetro -Include *.txt ajusta a busca filtrando arquivos com a extensão ".txt".

Saída:

file1.txt
file2.txt
file3.txt

A saída representa uma lista de nomes de arquivos com a extensão ".txt", que corresponde aos critérios que especificamos em nosso comando PowerShell.

Conclusão

Neste artigo, exploramos métodos eficientes para usar o cmdlet Get-ChildItem no PowerShell para localizar tais arquivos. Abordamos duas abordagens: usar o parâmetro -Filter para precisão e o parâmetro -Include para flexibilidade.

Essas técnicas podem simplificar tarefas como análise de dados e organização, tornando o gerenciamento de arquivos em um ambiente Windows mais eficiente.

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

Artigo relacionado - PowerShell File