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

如何将两条PowerShell ForEach-Object命令的输出合并到同一文件?

合并PowerShell文件版本信息与备用数据流(ADS)输出到同一文件

核心实现思路

只遍历一次目标文件夹,同时获取每个文件的版本信息和备用数据流,避免两次遍历浪费资源,然后将两类信息组合输出到同一文件。


文本格式输出(可读性优先)

适合直接查看,每个文件的信息用分隔块展示:

$outputPath = 'C:\temp\bin_combined.txt'
$targetDir = 'C:\<somefolder>\bin\'

# 清空目标文件(如果已存在)
if (Test-Path $outputPath) { Remove-Item $outputPath }

Get-ChildItem -Path $targetDir -File | ForEach-Object {
    # 获取文件版本信息
    $versionInfo = $_.VersionInfo
    # 获取非默认的备用数据流
    $adsStreams = Get-Item $_.FullName -Stream * | Where-Object { $_.Stream -ne ':$Data' } | Select-Object -ExpandProperty Stream

    # 写入文件基础信息
    Add-Content -Path $outputPath -Value "=== 文件: $($_.FullName) ==="
    Add-Content -Path $outputPath -Value "文件名: $($_.Name)"
    Add-Content -Path $outputPath -Value "文件版本: $($versionInfo.FileVersion)"
    Add-Content -Path $outputPath -Value "产品版本: $($versionInfo.ProductVersion)"

    # 写入ADS信息
    if ($adsStreams) {
        Add-Content -Path $outputPath -Value "备用数据流(ADS):"
        $adsStreams | ForEach-Object { Add-Content -Path $outputPath -Value "  - $_" }
    } else {
        Add-Content -Path $outputPath -Value "备用数据流(ADS): 无"
    }
    # 分隔线区分不同文件
    Add-Content -Path $outputPath -Value "------------------------`n"
}

CSV格式输出(适合数据分析)

如果需要用Excel等工具进一步处理,用CSV格式更方便,ADS会作为单独一列展示:

$outputPath = 'C:\temp\bin_combined.csv'
$targetDir = 'C:\<somefolder>\bin\'

Get-ChildItem -Path $targetDir -File | ForEach-Object {
    $versionInfo = $_.VersionInfo
    $adsStreams = Get-Item $_.FullName -Stream * | Where-Object { $_.Stream -ne ':$Data' } | Select-Object -ExpandProperty Stream
    # 把多个ADS转为逗号分隔的字符串
    $adsList = $adsStreams -join ', '

    # 构造自定义对象,方便导出CSV
    [PSCustomObject]@{
        完整路径 = $_.FullName
        文件名 = $_.Name
        文件版本 = $versionInfo.FileVersion
        产品版本 = $versionInfo.ProductVersion
        备用数据流 = if ($adsList) { $adsList } else { "无" }
    }
} | Export-Csv -Path $outputPath -Encoding UTF8 -NoTypeInformation

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 22:13:31