gpt4 book ai didi

powershell - 成员枚举在 PowerShell 3 中如何工作?

转载 作者:行者123 更新时间:2023-12-02 07:05:51 26 4
gpt4 key购买 nike

在 PoweShell 2 中我们做了:

Get-ChildItem | ForEach-Object {$_.LastWriteTime} | Sort-Object  

在 Powershell 3 中我们做:

(Get-ChildItem).LastWriteTime | Sort-Object

但它是如何工作的,我读了this MSDN 上的博客文章,他们说它更快,因为 foreach 循环没有运行?那么它如何枚举属性呢?

最佳答案

PowerShell 正在为我们做艰苦的工作,它在内部循环遍历集合。我喜欢称其为“隐式 foreach”。假设您指定的成员出现在每个对象上,如果您指定的成员是一个属性,您将取回它的值。如果它是一个方法,它会在每个对象上调用该方法。

在 v2 中,要获取所有进程名称,您必须自行处理循环:

Get-Process | Foreach-Object {$_.Name}

在 v3 中,等价物是:

(Get-Process).Name

同样适用于方法。杀死名称以 note* 开头的所有进程:

(Get-Process note*).Kill()

关于powershell - 成员枚举在 PowerShell 3 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12131416/

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