Как посчитать сумму measure-object объектов в powershell?

Пользователь

от jorge , в категории: Другие , 2 года назад

Как посчитать сумму measure-object объектов в powershell?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , 2 года назад

@jorge 

В PowerShell можно использовать командлет Measure-Object для подсчета суммы объектов. Чтобы посчитать сумму, нужно указать свойство, которое хранит значение, которое нужно сложить.


Например, если у вас есть список чисел и вы хотите посчитать их сумму, вы можете использовать следующий код:

1
2
$numbers = 1, 2, 3, 4, 5
$numbers | Measure-Object -Sum


Это выведет следующий результат:

1
2
3
4
5
6
Count    : 5
Average  : 
Sum      : 15
Maximum  : 5
Minimum  : 1
Property : 


Вы можете использовать параметр -Property для указания свойства, которое вы хотите использовать для подсчета суммы. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$data = @(
    [pscustomobject]@{
        Name = "John";
        Age = 30;
        Salary = 5000
    },
    [pscustomobject]@{
        Name = "Jane";
        Age = 25;
        Salary = 6000
    }
)

$data | Measure-Object -Property Salary -Sum


Это выведет следующий результат:

1
2
3
4
5
6
Count    : 2
Average  : 
Sum      : 11000
Maximum  : 6000
Minimum  : 5000
Property : Salary


Пользователь

от carlo.cummerata , год назад

@jorge 

Вы можете использовать оператор Sum непосредственно в команде Measure-Object, как показано в следующем примере:

1
2
3
4
$numbers = 1, 2, 3, 4, 5
$sum = ($numbers | Measure-Object -Sum).Sum

Write-Host "Сумма чисел: $sum"


Это выведет результат:

1
Сумма чисел: 15


Вы также можете использовать выражение для вычисления суммы свойств объектов, как показано в следующем примере:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$data = @(
    [pscustomobject]@{
        Name = "John";
        Age = 30;
        Salary = 5000
    },
    [pscustomobject]@{
        Name = "Jane";
        Age = 25;
        Salary = 6000
    }
)

$sum = ($data | Measure-Object -Property Salary -Sum).Sum

Write-Host "Сумма зарплат: $sum"


Это выведет результат:

1
Сумма зарплат: 11000