我需要一个命令行工具来转储标准的Windows DLL版本信息,以便我可以通过bash脚本(Cygwin)处理它.
作为一名Java开发人员,我不太熟悉Microsoft开发工具(尽管我对Microsoft Visual Embedded C++ 4.0和Microsoft Visual Basic 6.0有一点经验).
适当的工具似乎是mt.exe,如SO所述.但是,我发现获得这个小应用程序的唯一机会是下载适用于Windows Server 2008和.NET Framework的Windows SDK的1.29 GB ISO .我无法相信这是唯一的方法.
我还在Internet上发现了一个名为PEView的小应用程序,但它显示的信息太多(在我的情况下无用)信息,它不是命令行应用程序.
捆绑在Cygwin中的标准objdump也可以转储有关DLL文件的一些信息,但我看不到转储DLL版本的选项.请注意,此工具(使用-p选项)转储的MajorImageVersion,MinorImageVersion和其他字段与自己的DLL版本无关.
关于该怎么做的任何替代方案?也许我错过了一些重要的objdump选项?mt.exe是我唯一的选择吗?如果是这种情况,是否可以将其与Windows SDK分开?
我需要运行一个简单的find命令并将输出重定向到Windows批处理文件中的变量.
我试过这个:
set file=ls|find ".txt"
echo %file%
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如果我运行此命令它没有问题:
set file=test.txt
echo %file%
Run Code Online (Sandbox Code Playgroud)
显然我的命令输出没有设置为我的变量.有人可以帮忙吗?谢谢
二进制文件中嵌入了一个版本 - 易于在Windows资源管理器中显示.

如何从批处理文件中检索该文件版本?