通过cmd/bat从文件中获取产品版本

3

我有一个带版本资源的文件,其中File version/Product version字段已填写。我需要通过BAT文件检索Product version。例如,我有一个ProductVersion为1.0.1的文件,在BAT文件输出中,我想要字符串"101"或"1.0.1"。

4个回答

5
你可以使用 sigcheck 工具,它是 Sysinternals Suite 的一部分。因为 filever 已经相当古老了。
$ sigcheck.exe -q -n app.exe
5.0.0.1241

通过指定-q(安静)和-n,它将仅显示文件版本号。

1
太好了,这正是我在寻找的。可惜你在5年后才回答 : )。不过还是个好答案。 - zabulus
1
支持Filever.exe工具已经结束。对于这个答案点赞。谢谢。 - Ale

1

我知道Filever,但它提供了太多的信息。你能帮我解析Filever的输出吗? - zabulus
@zabalus:看编辑。我没有在Windows 7中找到filever,所以无法直接测试,但该代码适用于KB文章中给出的示例输出。 - Joey

1

对于像我这样的菜鸟,上面的语句有一个更正:获取产品版本值的方法应该是:

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

/v参数丢失,我无法获取正确的值。


0

要从资源RC文件中读取版本,您可以使用以下方法:

for /F "tokens=3" %%a in ( 'findstr ProductVersion YourProgram.rc' ) do set VERSION=%%~a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接