Olá pessoal, tudo bem? Espero que sim!
Chegou a hora de publicar o primeiro script do Blog. Este script utiliza o objeto de FileSystem para realizar uma consulta recursiva em qualquer diretório buscando arquivos com determinada extensão. O script também oferece a possibilidade de gerar os dados em um relatório CSV.
Procurem analisar como eu realizei construção de cada passo do script. A maioria dos componentes utilizados já foram abordados nos artigos anteriores do blog.
Script: Consulta Arquivos por Extensão em Computador Local
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<# raphaelgomes.net .SYNOPSIS Este script consulta os arquivos com uma determinada extensão em diretórios informados .AUTHOR Raphael Gomes - contato@raphaelgomes.net .FILENAME Get-ArquivosExtensao.ps1 .PARAMETERS Extensao, Diretorio Listar arquivos por extensão .\Get-ArquivosExtensao.ps1 -Extensao <extensão> -Diretorio <diretório de pesquisa> .EXAMPLE .\Get-ArquivosExtensao.ps1 -Extensao exe -Diretorio C:\Users\RobotChicken .PARAMETER Relatorio Listar arquivos por extensão e gerar um relatório CSV .\Get-ArquivosExtensao.ps1 -Extensao <extensão> -Diretorio <diretório de pesquisa> -Relatorio <diretório do relatório\NomeDoRelatorio.csv> .EXAMPLE .\Get-ArquivosExtensao.ps1 -Extensao exe -Diretorio C:\Users\RobotChicken -Relatorio C:\Users\RobotChicken\Desktop\RelatorioArquivosEXE.csv .LINK Dúvidas? Comente em: https://raphaelgomes.net/ps-script-1-consultar-arquivos-por-extensao-em-computador-local/ #> # Declara Parâmetros Param([string]$Extensao, [string]$Diretorio, [string]$Relatorio) # Realizar a consulta recursiva por arquivos $Ext = "*." + $Extensao $Consulta = Get-ChildItem -Path $Diretorio -Recurse | Where-Object {$_.Name -like $Ext} | Select-Object Name,Directoryname,Basename,FullName # Se for definido a geração de um relatório, exportar os dados e retornar o seu conteúdo If($Relatorio){ $Consulta | Export-Csv -LiteralPath $Relatorio -Encoding Default -NoTypeInformation $Saida = Import-Csv $Relatorio $Saida | Out-GridView -Title "Computadores com Arquivos com Extensão: $Extensao" Write-Host -ForegroundColor Green "SUCESSO: O relatório foi gerado no diretório: $Relatorio" } # Do contrário, listar na console os arquivos encontrados Else{ $Consulta } |
Função: Get-ArquivosExtensao
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<# raphaelgomes.net .SYNOPSIS Esta função consulta os arquivos com uma determinada extensão em diretórios informados .AUTHOR Raphael Gomes - contato@raphaelgomes.net .FILENAME Get-ArquivosExtensao.psm1 .PARAMETERS Extensao, Diretorio Listar arquivos por extensão Get-ArquivosExtensao -Extensao <extensão> -Diretorio <diretório de pesquisa> .EXAMPLE Get-ArquivosExtensao -Extensao exe -Diretorio C:\Users\RobotChicken .PARAMETER Relatorio Listar arquivos por extensão e gerar um relatório CSV Get-ArquivosExtensao -Extensao <extensão> -Diretorio <diretório de pesquisa> -Relatorio <diretório do relatório\NomeDoRelatorio.csv> .EXAMPLE Get-ArquivosExtensao -Extensao exe -Diretorio C:\Users\RobotChicken -Relatorio C:\Users\RobotChicken\Desktop\RelatorioArquivosEXE.csv .LINK Dúvidas? Comente em: https://raphaelgomes.net/ps-script-1-consultar-arquivos-por-extensao-em-computador-local/ #> # Declara Função e Parâmetros Function Get-ArquivosExtensao{Param([string]$Extensao, [string]$Diretorio, [string]$Relatorio) # Realizar a consulta recursiva por arquivos $Ext = "*." + $Extensao $Consulta = Get-ChildItem -Path $Diretorio -Recurse | Where-Object {$_.Name -like $Ext} | Select-Object Name,Directoryname,Basename,FullName # Se for definido a geração de um relatório, exportar os dados e retornar o seu conteúdo If($Relatorio){ $Consulta | Export-Csv -LiteralPath $Relatorio -Encoding Default -NoTypeInformation $Saida = Import-Csv $Relatorio $Saida | Out-GridView -Title "Computadores com Arquivos com Extensão: $Extensao" Write-Host -ForegroundColor Green "SUCESSO: O relatório foi gerado no diretório: $Relatorio" } # Do contrário, listar na console os arquivos encontrados Else{ $Consulta } } |
É isso aí galera, por hoje é só. Até o próximo post!
Dúvidas, sugestões, críticas sobre o blog? Entre em contato aqui!
Gostou? Deixe seu comentário e não se esqueçam de curtir a página do Facebook na barra lateral!