我需要一个命令行工具来转储标准的Windows DLL版本信息,以便我可以通过bash脚本(Cygwin)进行处理。
作为一名Java开发人员,我不太习惯使用Microsoft开发工具(尽管我有一点使用Microsoft Visual Embedded C++ 4.0和Microsoft Visual Basic 6.0的经验)。
适当的工具似乎是mt.exe,如SO上所述。然而,我找到的唯一获取这个小应用程序的机会是下载一个1.29 GB的Windows Server 2008和.NET Framework的Windows SDK ISO。我无法相信这是唯一的方法。
我还在互联网上找到了一个叫做PEView的小应用程序,但它显示了太多(在我的情况下无用)的信息,并且它不是一个命令行应用程序。
Cygwin中捆绑的标准objdump也可以转储有关DLL文件的一些信息,但我看不到转储DLL版本的选项。请注意,此工具(使用-p选项)转储的MajorImageVersion、MinorImageVersion和其他字段与自己的DLL版本无关。
作为一名Java开发人员,我不太习惯使用Microsoft开发工具(尽管我有一点使用Microsoft Visual Embedded C++ 4.0和Microsoft Visual Basic 6.0的经验)。
适当的工具似乎是mt.exe,如SO上所述。然而,我找到的唯一获取这个小应用程序的机会是下载一个1.29 GB的Windows Server 2008和.NET Framework的Windows SDK ISO。我无法相信这是唯一的方法。
我还在互联网上找到了一个叫做PEView的小应用程序,但它显示了太多(在我的情况下无用)的信息,并且它不是一个命令行应用程序。
Cygwin中捆绑的标准objdump也可以转储有关DLL文件的一些信息,但我看不到转储DLL版本的选项。请注意,此工具(使用-p选项)转储的MajorImageVersion、MinorImageVersion和其他字段与自己的DLL版本无关。
有没有其他替代方案?也许我错过了一些重要的objdump选项?mt.exe是我的唯一选择吗?如果是这样,是否可以从Windows SDK单独获取它?
powershell -command (Get-Item C:\Path\To\MyFile.dll).VersionInfo
- Stefan Bormann(Get-Item C:\Path\To\MyFile.dll).VersionInfo
只显示10.0.18362.1。我可以尝试Glenn的建议,但它会显示更多信息。 - barlop