You need to enable JavaScript to run this app. 如何在PowerShell中实现类似Excel VLOOKUP的对象属性匹配功能
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中实现类似Excel VLOOKUP的对象属性匹配功能

PowerShell实现方案

核心逻辑是先将CSV导入结果预转为以FullName为键的查找哈希表,匹配时可直接O(1)读取,性能远高于逐次遍历CSV匹配。

完整实现代码

# 步骤1:导入CSV并构建查找哈希表
$heightLookup = @{}
Import-Csv -Path "替换为你的CSV文件实际路径" | ForEach-Object {
    # 可选添加Trim()处理CSV字段首尾多余空格,不需要可删除
    $heightLookup[$_.FullName.Trim()] = $_.Height
}

# 步骤2:遍历目录生成目标结构
$outputCollection = Get-ChildItem -Path "替换为你要扫描的目标目录路径" -File | ForEach-Object {
    # 此处生成哈希表,如需转为PS对象可在@{}前加[PSCustomObject]修饰
    @{
        FullName  = $_.FullName
        Extension = $_.Extension
        Height    = $heightLookup.ContainsKey($_.FullName) ? $heightLookup[$_.FullName] : $null
        # 可自行补充其他需要提取的Get-ChildItem返回属性
    }
}

可选调整说明

  • 若匹配不到对应FullName的Height值,当前默认赋值为$null,可自行替换为自定义默认值(如"无匹配数据")
  • 若需要同时扫描子目录,可在Get-ChildItem参数中添加-Recurse
  • 若要生成可直接导出/格式化的结构化对象,将@{修改为[PSCustomObject]@{即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 11:39:00