相关疑难解决方法(0)

管道中的cmdlet是并行执行的吗?

我在"专业人士的PowerShell笔记"白皮书中发现了一个有趣的声明 - "在管道系列中,每个函数都与其他函数并行运行,如并行线程":

在此输入图像描述

那是对的吗?如果"是",是否有支持此声明的技术文档?

parallel-processing powershell pipeline

5
推荐指数
1
解决办法
609
查看次数

Select-Object -First 影响管道中的先前 cmdlet

Strongly Encouraged Development Guidelinescmdlet 应该为管道中间实现的 PowerShell ,但我怀疑-Last对于Select-Object. 仅仅是因为您无法预先确定最后一个条目。换句话说:您需要等待输入流完成,直到您定义最后一个条目。
为了证明这一点,我写了一个小脚本:

$Data = 1..5 | ForEach-Object {[pscustomobject]@{Index = "$_"}}

$Data | ForEach-Object { Write-Host 'Before' $_.Index; $_ } |
Select-Object -Last 5 | ForEach-Object { Write-Host 'After' $_.Index }
Run Code Online (Sandbox Code Playgroud)

并将其与Select-Object *

$Data | ForEach-Object { Write-Host 'Before' $_.Index; $_ } |
Select-Object * | ForEach-Object { Write-Host 'After' $_.Index }
Run Code Online (Sandbox Code Playgroud)

结果(右:Select-Object -Last 5,左:)Select-Object *

-Last 5  *
-------  - …
Run Code Online (Sandbox Code Playgroud)

powershell pipeline select-object

1
推荐指数
1
解决办法
368
查看次数