【问题标题】:Edit VersionInfo of a file using powershell使用 powershell 编辑文件的 VersionInfo
【发布时间】: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


【解决方案1】:

根据我的问题中的 cmets,我将尝试想出一种不同的方法来将自定义元数据添加到我的文件中。备用数据流很好,但如果将文件传输到非 ntfs 文件系统,则会丢失。

【讨论】:

    猜你喜欢
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多