Consultas avançadas como essa não são realmente compatíveis com ferramentas de pesquisa de uso geral, como você achava incorporadas ao Explorer ou à Barra de botões. No entanto, o PowerShell (que também vem embutido no Windows 7 e posterior) é muito capaz de lidar com a tarefa.
No PowerShell, os objetos de arquivo têm uma propriedade chamada VersionInfo
, que contém propriedades filho com os dados que você deseja filtrar. Depois que você souber como fazer referência a essas propriedades, construir um script para procurar arquivos com base nelas é bastante trivial.
Para todos os arquivos chamados "name.dll" com uma versão do arquivo "1.1.1" em C: \, faça o seguinte:
Get-ChildItem C:\ -Include name.dll -Recurse | Where-Object {$_.VersionInfo.FileVersion -eq '1.1.1'}
Para todos os arquivos denominados "name.dll" com uma versão do produto "1.1.1" em C: \, faça o seguinte:
Get-ChildItem C:\ -Include name.dll -Recurse | Where-Object {$_.VersionInfo.ProductVersion -eq '1.1.1'}
Para arquivos com o nome "name.dll" que possuem uma versão do arquivo OU versão do produto "1.1.1" em C: \, faça o seguinte:
Get-ChildItem C:\ -Include name.dll -Recurse | Where-Object {$_.VersionInfo.FileVersion -eq '1.1.1' -or $_.VersionInfo.ProductVersion -eq '1.1.1'}
Tenha em mente que estes só serão compatíveis se os valores de Versão do arquivo ou Versão do produto forem exatamente iguais à string "1.1.1". Para obter informações sobre como usar esses comandos de outras maneiras, incluindo a capacidade de corresponder com base em outros critérios ou usando expressões regulares, verifique alguns dos documentos de ajuda integrados com os seguintes comandos:
Get-Help Get-ChildItem -Detailed
Get-Help Where-Object -Detailed
Get-Help about_Comparison_Operators
Get-Help about_Operators
Get-Help about_Regular_Expressions