如何在 PowerShell 中获取文件版本

  1. 使用 Get-Item 在 PowerShell 中获取文件版本
  2. 使用 Get-ChildItem 在 PowerShell 中获取文件版本
  3. 使用 Get-Command 在 PowerShell 中获取文件版本
  4. 使用 System.Diagnostics.FileVersionInfo 在 PowerShell 中获取文件版本
  5. 结论
如何在 PowerShell 中获取文件版本

一个文件的版本号是一个关键的信息,特别是在管理和故障排除软件和系统文件时。在 PowerShell 中,您可以使用各种 cmdlet 和方法轻松检索此版本信息。

可执行文件包含版本信息,例如 .exe.dll。请注意,文本文件没有任何版本信息。

版本信息包含文件名、文件版本、公司名称、产品名称、产品版本和语言。本教程将教您如何在 PowerShell 中获取文件版本。

使用 Get-Item 在 PowerShell 中获取文件版本

PowerShell 提供了多种 cmdlet 和方法来获取文件版本,Get-Item 是其中之一。这种方法是最简单和最易于使用的方法之一。

语法:

(Get-Item "Path\to\file").VersionInfo.FileVersion
  • Get-Item:这是 PowerShell 中的一个 cmdlet,用于检索指定路径下的文件或目录的信息。这仅获取单个文件或目录的信息。
  • "Path\to\file":这是提供给 Get-Item 的参数。它指定要检查的文件或目录的路径。
  • .VersionInfo:这是允许您访问和检查版本信息的属性。
  • .FileVersion:这是 VersionInfo 属性的一个子属性,专门检索文件的文件版本。

以下示例显示了如何使用 Get-ItemVersionInfo.FileVersion 来获取文件 C:\P/rogram Files\Google\Chrome\Application\chrome.exe 的版本。

(Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo.FileVersion

(Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe") 行使用 Get-Item cmdlet 来检索位于指定路径的文件信息,该文件是给定目录中的 Chrome 可执行文件 (chrome.exe)。然后,一旦获取到文件信息,代码访问文件的 VersionInfo 属性,该属性包含有关文件的各种详细信息,包括其版本信息。

最后,.FileVersion 检索我们所关心的特定信息,即 Chrome 可执行文件的文件版本。

输出:

98.0.4758.102

输出 98.0.4758.102 表示指定路径中 Chrome 可执行文件的文件版本。在这种情况下,它表明系统上安装的谷歌浏览器的版本是 98.0.4758.102

使用 Get-ChildItem 在 PowerShell 中获取文件版本

Get-ChildItem 获取一个或多个指定位置中的项目和子项目。我们还可以使用 Get-ChildItemVersionInfo.FileVersion 属性来获取 PowerShell 中的文件版本。

语法:

(Get-ChildItem "Path\to\file").VersionInfo.FileVersion
  • Get-ChildItem:此 cmdlet 用于列出指定位置中的文件和目录。
  • "Path\to\file":这是提供给 Get-ChildItem 的参数。它指定您要检查的文件或目录的路径。
  • .VersionInfo:此属性允许您访问和检查版本信息。
  • .FileVersion:这是 VersionInfo 的一个子属性,专门检索文件的文件版本。

示例:

(Get-ChildItem "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo.FileVersion

(Get-ChildItem "C:\Program Files\Google\Chrome\Application\chrome.exe") 行使用 Get-ChildItem cmdlet 来检索位于指定路径的文件信息,该文件是给定目录中的 Chrome 可执行文件 (chrome.exe)。Get-ChildItem 用于列出指定位置中的文件和目录。

接下来,一旦获取到文件信息,代码访问文件的 VersionInfo 属性,该属性包含有关文件的各种详细信息,包括其版本信息。最后,.FileVersion 检索我们所关心的特定信息,即 Chrome 可执行文件的文件版本。

输出:

98.0.4758.102

输出 98.0.4758.102 表示指定路径中 Chrome 可执行文件的文件版本。在这种情况下,它表明系统上安装的谷歌浏览器的版本是 98.0.4758.102

使用 Get-Command 在 PowerShell 中获取文件版本

Get-Command cmdlet 获取计算机上安装的所有命令。它包括所有 cmdlet、别名、函数、脚本和应用程序。

我们可以使用 FileVersionInfo.FileVersion 属性和 Get-Command 在 PowerShell 中获取文件版本。

语法:

(Get-Command "Path\to\file").FileVersionInfo.FileVersion
  • Get-Command:这是用于检索有关命令、脚本或可执行文件的信息的 cmdlet。它可以用于查找关于 PowerShell 命令、函数或外部可执行文件的信息,包括它们的位置属性。
  • "Path\to\file":这是提供给 Get-Command 的参数。它指定了要检查的命令、脚本或可执行文件的路径。
  • .FileVersionInfo:此属性提供有关命令或脚本的版本信息的详细信息。
  • .FileVersion:这是 FileVersionInfo 属性的一个子属性。它专门检索命令或脚本的文件版本。

以下命令获取文件 C:\Windows\System32\ActionCenter.dll 的文件版本号:

(Get-Command C:\Windows\System32\ActionCenter.dll).FileVersionInfo.FileVersion

(Get-Command C:\Windows\System32\ActionCenter.dll) 使用 Get-Command cmdlet 来检索有关指定命令的信息(在这种情况下是 DLL 文件)。当我们将文件路径作为参数提供给 Get-Command 时,它返回有关文件的信息,包括其属性。

然后,一旦获取到文件信息,代码访问文件对象的 FileVersionInfo 属性。FileVersionInfo 属性包含有关文件的各种详细信息,包括其版本信息。

最后,.FileVersion 检索我们所关心的特定信息,即 ActionCenter.dll 文件的文件版本。

输出:

10.0.19041.1 (WinBuild.160101.0800)

输出 10.0.19041.1 (WinBuild.160101.0800) 表示指定路径中 ActionCenter.dll 文件的文件版本。在这种情况下,它表明系统上 ActionCenter.dll 文件的版本是 10.0.19041.1 (WinBuild.160101.0800)

使用 System.Diagnostics.FileVersionInfo 在 PowerShell 中获取文件版本

此方法使用文件路径(您要检索版本信息的实际文件路径)作为参数调用。此方法调用检索有关指定文件的版本信息。

.NET 框架中的 System.Diagnostics.FileVersionInfo 类提供文件的版本信息。我们可以使用 GetVersionInfo() 方法和 FileVersion 属性来获取文件版本号。

语法:

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("Path\to\file").FileVersion
  • [System.Diagnostics.FileVersionInfo]:此部分指定用于访问文件版本信息的 .NET 框架类。此 .NET 类提供对文件的版本信息的访问,通常是可执行文件,但也可以用于其他类型的文件。
  • GetVersionInfo:这是检索参数中指定的文件的版本信息的方法。
  • "Path\to\file":这是提供给 GetVersionInfo 方法的参数。它指定您要检查的文件的确切路径。
  • .FileVersion:此属性专门检索文件的文件版本。文件版本通常是表示文件或软件版本的数值。

示例:

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\ActionCenter.dll").FileVersion

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\ActionCenter.dll") 行使用 [System.Diagnostics.FileVersionInfo] 类,这是 .NET 框架的一部分,以获取有关指定文件的版本信息。:: 语法用于访问 FileVersionInfo 类的静态方法 GetVersionInfo,并将路径 "C:\Windows\System32\ActionCenter.dll" 作为参数提供给此方法。

然后,一旦获取到版本信息,代码访问 FileVersionInfo 对象的 FileVersion 属性。最后,FileVersion 属性包含一个表示文件版本的字符串。

输出:

10.0.19041.1 (WinBuild.160101.0800)

输出 10.0.19041.1 (WinBuild.160101.0800) 表示 ActionCenter.dll 文件的文件版本。在这种情况下,它表明系统上 ActionCenter.dll 文件的版本是 10.0.19041.1 (WinBuild.160101.0800)

结论

掌握在 PowerShell 中检索文件版本信息是一项高效文件管理和有效故障排除的基本技能。在本文中,我们学习了四种方法,使我们能够轻松提取数据。

无论我们选择使用 Get-ItemGet-ChildItemGet-Command 还是 System.Diagnostics.FileVersionInfo 方法,我们现在都有一个多功能的工具包来获取文件版本详细信息。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相关文章 - PowerShell File