我想要得到以下报告:
我的电脑中的 %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
。