Como encontrar arquivos com extensão no PowerShell
-
Use
Get-ChildItemComFilterpara Encontrar Arquivos Com Extensão no PowerShell -
Use
Get-ChildItemComIncludepara 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.