首页 > 解决方案 > 使用 powershell 查询文件版本

问题描述

我有一个代码可以让我同时查询一个文件版本。如何查询此注册表项内的所有文件版本,或者我只想查询特定文件,包括 firefox、chrome 等?

(Get-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\App Paths\communicator.exe').'(Default)' | ForEach-Object {
    Get-ChildItem -Path $_ | Select-Object -ExpandProperty VersionInfo | Select FileDescription,ProductVersion
} | Format-Table -AutoSize

标签: powershellregistry

解决方案


Get-ChildItem您应该在包含您感兴趣的注册表项的“文件夹”上运行,而不是提供文字路径。结果是您通过管道传输到您的代码片段......像这样:

$Path =  'HKLM:\Software\Microsoft\Windows\CurrentVersion\App Paths'

Get-ChildItem -Path $Path | 
ForEach-Object {
    Get-ItemProperty -Path $_.PSPath |
    Select-Object -ExpandProperty '(default)' -ErrorAction SilentlyContinue |
    ForEach-Object {
        Get-Item -Path $_ -ErrorAction SilentlyContinue |
        Select-Object FullName -ExpandProperty VersionInfo
    }
} |
    Format-Table -AutoSize

推荐阅读