Existe uma maneira de obter os metadados de um arquivo na linha de comando no Windows XP e acima?
Particularmente, estou interessado em obter as informações que normalmente podemos ver na guia "Detalhes" da caixa de diálogo "Propriedades" de um arquivo no Windows 7. (guia "Versão" no XP.) do que eu estou procurando.
Se possível, eu prefiro fazer isso cmd.exe
ou algo mais que vem de fábrica com o Windows XP SP3 e superior. Se isso não for possível, minhas alternativas preferidas seriam:
- PowerShell
- Um utilitário SysInternals
- Um utilitário Nirsoft
- Alguma outra ferramenta de um desenvolvedor igualmente respeitável e bem reconhecido.
Captura de tela do Windows XP:
Captura de tela do Windows 7:
FILEVER
partir do CD do Windows.FILEVER
não estão incluídas nesses CDs e, portanto, podem não ser uma ferramenta suportada para essas versões.Respostas:
Você pode usar o WMIC.exe para obter a maior parte do caminho até lá:
Observe o escape das barras invertidas
\
no caminho (não funciona de outra forma).fonte
wmic : Unexpected switch at this level.
no W81, o mesmo para o soulzi de Iszi.O que você está procurando pode ser extraído com uma combinação de dsofile.dll (não é necessário se você tiver o Office instalado) e a autoit ou qualquer linguagem .NET.
Eu também encontrei um método PowerShell , mas não pude testá-lo.
Eu escrevi um pequeno script com autoit que ainda precisa de alguns ajustes. Estou no Vista e não consigo fazer com que as poucas chamadas dsofile.dll funcionem como seria de esperar, embora ainda ofereça alguma saída na qual você possa estar interessado. Vou trabalhar nisso mais pela manhã quando tiver acesso para um XP e win7 VM. Observe que você precisa alterar o caminho nas funções DLL para onde quer que você instale o dsofile.dll.
fonte
Apenas para expandir a resposta de @bobbymcr acima (o que achei muito útil, obrigado!); você pode simplificar o comando e ampliar os resultados usando as opções
LIST BRIEF
ouLIST FULL
.Verifique
> wmic datafile list /?
para mais detalhes.Esta solução me ajudou a:
> wmic datafile "c:\\path\\to\\file.exe" list full
Nota: Como mencionado por @bobbymcr, lembre-se de escapar do
\
, caso contrário não funcionará.fonte