gpt4 book ai didi

powershell - 如何将 "-Property"参数用于 PowerShell 的 "Measure-Object"cmdlet?

转载 作者:行者123 更新时间:2023-12-04 13:14:39 24 4
gpt4 key购买 nike

为什么

$a = GPS AcroRd32 | Measure
$a.Count

工作,当
GPS AcroRd32 | Measure -Property Count

不是吗?

第一个示例返回值 2 ,这是我想要的,一个整数。

第二个例子返回这个:
Measure-Object : Property "Count" cannot be found in any object(s) input.
At line:1 char:23
+ GPS AcroRd32 | Measure <<<< -Property Count
+ CategoryInfo : InvalidArgument: (:) [Measure-Object], PSArgumentException
+ FullyQualifiedErrorId : GenericMeasurePropertyNotFound,Microsoft.PowerShell.Commands.MeasureObjectCommand



This Scripting Guy entry是我在第一个代码示例中学习如何使用“计数”属性的地方。

第二个代码示例确实令人困惑。在 this Script Center reference ,以下语句有效:
Import-Csv c:\scripts\test.txt | Measure-Object score -ave -max -min

即使像这样重写它仍然有效:
Import-Csv c:\scripts\test.txt | Measure-Object -ave -max -min -property score

在我考虑 Measure-Object help page 之前,我接受这个并没有太多问题。 . -Property <string[]>的参数定义状态:

The default is the Count (Length) property of the object.



Count是默认值,那么不应该显式传递 Count工作?
GPS AcroRd32 | Measure -Property Count # Fails

以下为我提供了我需要的信息,但它没有为我提供一个整数来执行操作,正如您将看到的:
PS C:\Users\Me> $a = GPS AcroRd32 | Measure
PS C:\Users\Me> $a

Count : 2
Average :
Sum :
Maximum :
Minimum :
Property :

PS C:\Users\Me> $a -is [int]
False



那么,为什么点符号( $a.count )有效,而不是明确的书面声明( GPS | Measure -Property Count )?

如果我应该使用点表示法,那么我会,但我想借此机会了解有关 的更多信息怎么样 *为什么 PowerShell 以这种方式工作,而不仅仅是建立对 PowerShell 语法的敷衍理解。换句话说,我想避免变成 Cargo Cult Programmer/ Code Monkey .

最佳答案

因为COUNT属性是 的属性输出 对象(即 Measure-Object 的结果),而不是 输入 目的。
-property参数指定要评估输入对象的哪些属性。这些都不是 COUNT除非你传递一个或多个数组或其他东西。

关于powershell - 如何将 "-Property"参数用于 PowerShell 的 "Measure-Object"cmdlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com