Você pode usar o Windows PowerShell :
PS C:\Windows> Get-ChildItem c:\windows -include *.dll -recurse | foreach-object { "{0}" -f [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_) }
algumas linhas de saída de exemplo:
File: C:\windows\assembly\GAC\Microsoft.JScript.0.5000.0__b03f5f7f11d50a3a\Microsoft.JScript.dll InternalName: Microsoft.JScript.dll OriginalFilename: Microsoft.JScript.dll FileVersion: 7.10.3052.4 FileDescription: Microsoftr JScript Engine Product: Microsoftr JScript .NET ProductVersion: 7.10.3052.4 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) File:C:\windows\assembly\GAC\Microsoft.StdFormat.0.3300.0__b03f5f7f11d50a3a\Microsoft.stdformat.dll InternalName: OriginalFilename: FileVersion: 7.00.9466 FileDescription: Product: Microsoftr Visual Studio .NET ProductVersion: 7.00.9466 Debug: False Patched: False PreRelease: False PrivateBuild: False SpecialBuild: False Language: English (United States) ....
Se você quiser salvá-lo em um arquivo:
PS C:\Windows> Get-ChildItem c:\windows -include *.dll -recurse | foreach-object { "{0}" -f [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_) } > C:\DLL_Versions.txt
isso salvaria toda a saída em C:\DLL_Versions.txt
.