如何获取所有 Windows/系统 DLL 及其版本的列表?

如何获取所有 Windows/系统 DLL 及其版本的列表?

我想要得到以下报告:

我的电脑中的 %WIN_DIR% 及其子文件夹中的所有 DLL,以递归方式。

对于找到的每个 DLL,我希望获得它的文件版本、产品版本等(因为可以通过查看文件的属性找到它)。

您知道有什么实用程序可以准备这样的报告吗?

附言:我知道我可以编写脚本,但这不是这里的问题,因为这应该作为“下降”程序/可执行文件执行,并且由于安全策略,脚本主机不可用。

谢谢您的帮助/指导!

答案1

您可以使用Windows PowerShell

PS C:\Windows> Get-ChildItem c:\windows -include *.dll -recurse | foreach-object { “{0}” -f [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_) }

几行示例输出:

文件:C:\windows\assembly\GAC\Microsoft.JScript\7.0.5000.0__b03f5f7f11d50a3a\Microsoft.JScript.dll
内部名称:Microsoft.JScript.dll
原始文件名:Microsoft.JScript.dll
文件版本:7.10.3052.4
文件描述:Microsoftr JScript 引擎
产品:Microsoft JScript .NET
产品版本:7.10.3052.4
调试:错误
已修补:错误
预发布:错误
PrivateBuild:错误
特殊建造:错误
语言:英语(美国)


文件:C:\windows\assembly\GAC\Microsoft.StdFormat\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.stdformat.dll
内部名称:
原始文件名:
文件版本:7.00.9466
文件描述:
产品:Microsoft Visual Studio .NET
产品版本:7.00.9466
调试:错误
已修补:错误
预发布:错误
PrivateBuild:错误
特殊建造:错误
语言:英语(美国)
....

如果您想将其保存到文件中:

PS C:\Windows> Get-ChildItem c:\windows -include *.dll -recurse | foreach-object { “{0}” -f [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_) } > C:\DLL_Versions.txt

这会将所有输出保存到C:\DLL_Versions.txt

相关内容