Pesquisa do Windows usando o campo de versão do arquivo

3

Eu preciso encontrar o arquivo name.dll , que tem o número da versão 1.1.1 in Windows 8 . É possível fazer a pesquisa de acordo com os campos FIle version e Product version ?

    
por vico 06.10.2014 / 17:39

2 respostas

2

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
    
por 06.10.2014 / 21:46
1

Eu sei que este é um post 'antigo', mas é possível procurar um arquivo pela versão do arquivo na pesquisa do Windows.

Abra uma janela do explorador para o diretório base de onde deseja pesquisar, por exemplo, C: \ windows. Na caixa de pesquisa, digite [fileName]. [Ext] AND system.fileversion: < = 1.1.1.1 (ou qualquer outro requisito de versão que você tenha).

Você pode usar curingas em combinação com os operadores BOOLEAN para os parâmetros de pesquisa. Consulte o seguinte site da Microsoft para obter algumas sugestões. Note que a lista fornecida não é uma lista completa, então eu tive que tentar adivinhar que eu poderia procurar por 'System.fileversion'. link

Aqui está um exemplo que fiz de uma pasta em um recurso de rede:

system.filename:~=AmazingCharts AND system.filename:~>exe AND system.fileversion:~=6.7.0
  • O primeiro parâmetro procura todos os arquivos que contêm as palavras 'AmazingCharts' em algum lugar no valor do nome do arquivo.
  • O segundo parâmetro isola a pesquisa de todos os arquivos END em exe
  • O terceiro parâmetro filtra ainda mais os resultados da pesquisa para aqueles valores que contém 6.7.0.

Eu notei que os resultados da pesquisa são lentos para esse processo.

    
por 21.01.2015 / 19:13