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

如何在PowerShell脚本中统计任务得分与失败任务数量?

实现PowerShell任务执行结果统计

方法一:修改任务函数返回结构化对象(推荐)

这种方式让任务函数输出包含状态和分数的自定义对象,后续统计更可靠,避免字符串解析的潜在错误:

Function Task_1
{
    Process 
    {
        [PSCustomObject]@{
            Status = 'Failed'
            Points = 0
        }
    }
}
Function Task_2
{
    Process 
    {
        [PSCustomObject]@{
            Status = 'Passed'
            Points = 12
        }
    }
}
Function Task_3
{
    Process 
    {
        [PSCustomObject]@{
            Status = 'Passed'
            Points = 34
        }
    }
}
Function Task_4
{
    Process 
    {
        [PSCustomObject]@{
            Status = 'Failed'
            Points = 0
        }
    }
}

# 收集所有任务执行结果
$taskResults = @(Task_1, Task_2, Task_3, Task_4)

# 统计失败任务数量
$failedCount = ($taskResults | Where-Object Status -eq 'Failed').Count

# 计算通过任务的总得分
$totalPoints = ($taskResults | Where-Object Status -eq 'Passed').Points | Measure-Object -Sum | Select-Object -ExpandProperty Sum

# 输出统计结果
Write-Host "失败任务数量: $failedCount"
Write-Host "通过任务总得分: $totalPoints"

方法二:解析原有函数的字符串输出(无需修改原函数)

如果不想改动现有任务函数,可以捕获它们的输出字符串,通过正则表达式解析状态和分数:

Function Task_1
{
    Process 
    {
        Write-Output "Task has failed - Points awarded:0"
    }
}
Function Task_2
{
    Process 
    {
        Write-Output "Task has passed - Points awarded:12"
    }
}
Function Task_3
{
    Process 
    {
        Write-Output "Task has passed - Points awarded:34"
    }
}
Function Task_4
{
    Process 
    {
        Write-Output "Task has failed - Points awarded:0"
    }
}

# 收集所有任务的输出内容
$taskOutputs = @(Task_1, Task_2, Task_3, Task_4)

# 初始化统计变量
$failedCount = 0
$totalPoints = 0

# 遍历输出内容进行解析统计
foreach ($output in $taskOutputs) {
    if ($output -match 'Task has failed') {
        $failedCount++
    }
    # 匹配分数数值
    if ($output -match 'Points awarded:(\d+)') {
        $totalPoints += [int]$matches[1]
    }
}

# 输出统计结果
Write-Host "失败任务数量: $failedCount"
Write-Host "通过任务总得分: $totalPoints"

运行结果

两种方法执行后都会输出:

失败任务数量: 2
通过任务总得分: 46

内容的提问来源于stack exchange,提问作者I-1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:57:30