当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell:过滤对象与Where-Object

作者:精品下载站 日期:2024-12-14 07:16:35 浏览:13 分类:玩电脑

PowerShell:过滤对象与Where-Object


在本文中,我将比较过滤器参数和 where-object。教学说,过滤更有效。 对于where-object,必须先检索出所有对象,然后再进行过滤。这需要时间。如果先过滤,则仅检索过滤后的对象。在本文中,我们将使用 Measure-Command 来了解这一点。

Get-Childitem 和Where-Object

Measure-Command {Get-Childitem -Path C:\ -File -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Extension -eq ".txt"}}

[玩转系统] PowerShell:过滤对象与Where-Object

37秒还不错。我有一块SSD。

带过滤器的 Get-Childitem

Measure-Command {Get-Childitem -Path C:\ -File -Recurse -ErrorAction SilentlyContinue -Filter *.txt}

[玩转系统] PowerShell:过滤对象与Where-Object

8秒就快多了。

结论

过滤速度要快得多。但并非所有命令都提供过滤的可能性。在许多帖子中,我使用 where-object 而不是过滤器参数。为什么?我习惯了。我想我必须改变。 ? 另请参阅我的文章Measure-Command:速度比较(Foreach 与 Foreach-Object)。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯