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

PowerShell脚本如何检测从源文件提取的ID Number是否存在重复

解决方案

修改后完整可运行代码

# 替换为你实际的源文件路径
$sourceFile = "your_file_path"
$blocks = ((Get-Content -Path $sourceFile -Raw) -split '-{2,}').Trim() | 
            Where-Object { $_ -match '(?sm)^\s?F I N A L  C O U N T' }

if (!$blocks) {
    Write-Host "未匹配到符合要求的内容块"
    exit
}

# 收集所有提取到的有效ID
$allIds = @()
foreach ($block in $blocks) {
    # 改用match匹配提取更稳妥,避免无ID时返回无效内容
    if ($block -match 'ID Number:(\d+)') {
        $allIds += $matches[1]
    }
}

# 统计重复ID
$duplicateIds = $allIds | Group-Object | Where-Object { $_.Count -ge 2 }

if ($duplicateIds) {
    Write-Host "检测到重复ID,共 $($duplicateIds.Count) 组:"
    $duplicateIds | ForEach-Object {
        Write-Host "ID: $($_.Name) 出现次数:$($_.Count)"
    }
    # 此处写入你要执行的自定义逻辑
}
else {
    Write-Host "未检测到重复ID"
}

实现逻辑说明

  • 首先将所有符合规则的内容块中提取到的有效ID统一存入$allIds数组,同时过滤掉没有匹配到ID的无效块,避免干扰统计结果
  • 通过PowerShell内置的Group-Object对ID数组进行分组统计,每个分组的Count属性即为对应ID的出现次数
  • 筛选出Count大于等于2的分组即为重复ID,只要该筛选结果不为空,就可以触发后续自定义逻辑,也可以直接从结果中读取具体的重复ID值和出现次数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:57:02