Como encontrar arquivos com extensão no PowerShell
-
Use
Get-ChildItem
ComFilter
para Encontrar Arquivos Com Extensão no PowerShell -
Use
Get-ChildItem
ComInclude
para Encontrar Arquivos Com Extensões no PowerShell - Conclusão

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.