这个目录有什么用?它是 POSIX 的一部分吗?它是 Linux 标准库的一部分吗?它是由内核强制执行的还是更多的是发行版功能?我在哪里可以找到有关它的更多文档?
在 Windows 10 之前,可以VersionInfo通过右键单击文件并执行属性来获取所有字符串。那已经行不通了。这就像有人只决定展示几十年来获得标准含义的那些。但是 GUI 并不重要,只是注意到它不起作用,因此对属性页的 COM 调用将无济于事。无论如何,我们想知道如何从命令行。
尝试:
PS> get-childitem .\execautablename | FormatList VersionInfo
PS> (get-item .\execautablename | format-list -force)
PS> get-childitem .\execautablename | ? {$_.VersionInfo.Xyz}
cmd> wmic datafile where Name="C:\\Full\\Path\\to\\executablename.exe" list full
Run Code Online (Sandbox Code Playgroud)
第三个命令只能获取一些版本字符串,但不能获取我知道的其他版本字符串。
就像现在所有的方法都知道一个“标准”列表(有两个或三个关于标准列表的想法),并且它们都不知道如何枚举所有 VersionInfo 字符串。我有一个带有字符串“ProductHash”的二进制文件,它是用于编译它的相应源代码的 git commit hash。
我不断收到建议涉及的答案{$_.VersionInfo}。该路径永远不会起作用,因为VersionInfo相信要检索的 versioninfo 属性的固定列表。该rc编译器和VERSIONINFOPE结构不同的信。wmic 有一个不同的固定列表,它检索。
这是物业。它仅在应用由postanote链接的Fish 的VersInfoEx shell 扩展后才出现。
源代码片段(windows 资源):
#include <windows.h>
1 VERSIONINFO
FILEVERSION 10, 0, 0, 0
PRODUCTVERSION …Run Code Online (Sandbox Code Playgroud)