Alo*_*dal 15 windows command-line
对于大多数 Windows 可执行文件(DLL、EXE...),可以使用“属性”(Alt+ Enter)中的“详细信息”选项卡查看版本和其他详细信息。

我想知道:是否还有一种命令行方式可以做到这一点?我对产品版本特别感兴趣,但其他东西也可能有用。
需要以下属性,按优先顺序排列:
|管道处理其余部分)在powershell中,get-command "full-path-to-executable" | format-list可以解决问题。Powershell 是 Vista 和更高版本 Windows 的新命令行,可以安装在 XP 中。
您可以使用sigcheck.exe作为Sysinternals Suite一部分的便携式工具,例如
$ sigcheck.exe some_app.exe
Sigcheck v2.51 - File version and signature viewer
Copyright (C) 2004-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
C:/Program Files (x86)/Foo App\some_app.exe:
Verified: Signed
Signing date: 14:48 23/12/2015
Publisher: X
Company: X
Description: X
Product: Some App
Prod version: 5.0.0.1241
File version: 5.0.0.1241
MachineType: 32-bit
Run Code Online (Sandbox Code Playgroud)
对于老版本的Windows如XP / 2K / 2003(它仍然工作在新的),使用filever.exe工具(检查直接链接在exedll.info)以获取有关文件等具体信息:
其他一些需要考虑的:
Microsoft COFF 二进制文件转储程序 (DUMPBIN.EXE)
显示有关通用对象文件格式 (COFF) 二进制文件的信息。您可以使用 DUMPBIN 检查 COFF 对象文件、COFF 对象的标准库、可执行文件和动态链接库 (DLL)。
binwalk- 在指定的文件中搜索各种 CPU 架构通用的可执行操作码。易于使用的工具,用于分析、逆向工程和从二进制文件中提取有趣的文件/数据。
更多命令请查看:
使用 Microsoft 的DUMPBIN 实用程序。
它有很多有用的选项,但是,这取决于您想做什么。
但是,它不是免费的,但我相信可以通过 Windows SDK 免费获得。
Function GetProductVersion (sFilePath, sProgram)
Dim objShell, objFolder, objFolderItem, i
If FSO.FileExists(sFilePath & "\" & sProgram) Then
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(sFilePath)
Set objFolderItem = objFolder.ParseName(sProgram)
Dim arrHeaders(300)
For i = 0 To 300
arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i)
'WScript.Echo i &"- " & arrHeaders(i) & ": " & objFolder.GetDetailsOf(objFolderItem, i)
If lcase(arrHeaders(i))= "product version" Then
GetProductVersion= objFolder.GetDetailsOf(objFolderItem, i)
Exit For
End If
Next
End If
End Function
Run Code Online (Sandbox Code Playgroud)
源是一个 .vbs 文件的链接,可以为您获取文件版本,您可以根据需要使用该文件并使用输出。
适用于所有版本的 Windows,不确定许可证,非常便携,但不支持 exe 或 DLL。
| 归档时间: |
|
| 查看次数: |
36333 次 |
| 最近记录: |