web-dev-qa-db-ja.com

変数で使用するファイルバージョンをWindowsコマンドラインから取得しますか?

.batファイルの変数で使用するために、Windows 7コマンドラインのファイルからファイルバージョン/製品バージョンを取得するにはどうすればよいですか?

7
jaekie

私の理解では、これを行うにはfilever.exeが必要です。コメントで指摘したように。また、以下のWord for Wordを here からリッピングしました

Filever.exeツールを使用してWindowsのファイルに関する特定の情報を取得する方法

私がfileverの出力について収集したものから、それは常に列にあり、5番目の列(バージョン)が必要です。したがって、単純なforで十分です:

for /f "tokens=5 delims= " %%v in ('filever myFile.dll /b') do echo %%v
6
MaskedPlant

Sysinternals Suite の一部である sigcheck.exe を使用して確認できます。

$ sigcheck.exe -q -n app.exe
5.0.0.1241

-q(静かでバナーなし)と-nを指定すると、ファイルのバージョン番号のみが表示されるため、変数に割り当てることができます。


Sigcheck64を使用している場合、Nano Serverに提供されている64ビットバージョンは32ビットプログラムをサポートしていません。-qパラメータは-nobannerに置き換えられました。例えば。

$ sigcheck.exe -nobanner -n app.exe
    5.0.0.1241

出典: SigcheckとSigcheck64の違いは何ですか? および SigCheckのマニュアルページ

2
kenorb