You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell提取EXE属性同行输出及ConvertTo-Html异常问题咨询

问题解答

1. 双属性同行输出的解决方法

你的原始命令每次循环单独输出一个属性值,PowerShell默认每个输出对象单独占行,因此会出现分行的情况。
可通过构造自定义对象的方式实现同行输出,命令示例如下:

Get-Command G:\*\*\a*.exe | ForEach-Object {
    $versionInfo = $_.FileVersionInfo
    # 构造包含两个目标属性的自定义对象,输出后默认同行展示
    [PSCustomObject]@{
        FileDescription = $versionInfo.FileDescription
        OriginalFileName = $versionInfo.OriginalFileName
    }
}

如果仅需要纯字符串格式的同行结果,也可以使用字符串拼接:

$verInfo = (Get-Command G:\*\*\a*.exe).FileVersionInfo
Write-Output "$($verInfo.FileDescription) | $($verInfo.OriginalFileName)"

2. ConvertTo-Html仅显示数字的问题

原因

直接将FileDescription的字符串结果传给ConvertTo-Html时,PowerShell会将字符串识别为字符集合,默认输出字符的索引、长度等数字属性,而非你需要的文本内容。

解决方法

将目标属性包装为自定义对象后再传给ConvertTo-Html即可,命令示例如下:

# 提取需要的属性构造自定义对象后转HTML
Get-Command G:\*\*\a*.exe | ForEach-Object {
    [PSCustomObject]@{
        文件描述 = $_.FileVersionInfo.FileDescription
        原始文件名 = $_.FileVersionInfo.OriginalFileName
    }
} | ConvertTo-Html | Out-File 版本信息结果.html -Encoding UTF8

内容的提问来源于stack exchange,提问作者user16511707

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:48:02