【发布时间】:2018-09-12 17:09:30
【问题描述】:
我想使用文件 VersionInfo 中的空字段来存储元数据以进行搜索。我想知道是否可以使用 powershell cmdlet 或脚本编辑 VersionInfo 字段。
可以使用以下命令查看版本信息:
get-itemproperty -path .\amazon_cel_v2l.dvf | Format-List -Property VersionInfo
输出:
VersionInfo : File: C:\extended_attributes\amazon_cel_v2l.dvf
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
如您所见,有几个不同的空字段可以填充元数据。有谁知道这些字段是否/如何写入?我特别想使用下面列出的四个字段:
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
【问题讨论】:
-
IIRC,这(通常)只能通过使用更新的版本信息重建可执行文件来实现。
-
是的,此信息仅在可执行文件和库上设置。这些属性是 .Net 的只读属性。在the FileVersionInfo class 上有更多信息:“FileVersionInfo 属性基于文件中内置的版本资源信息。版本资源通常内置在二进制文件中,例如 .exe 或 .dll 文件;文本文件没有版本资源信息。”无论您想做什么,这些属性都可能不是解决问题的方法。
-
我要补充一点,在签名的可执行文件中编辑此类元数据会使签名无效。我同意 Bacon Bits 的观点,您可能需要以不同的方式思考您正在尝试做的任何事情。
-
好的,谢谢各位。
标签: powershell file-attributes